Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Редирект после нажатия ссылкы для скачивания файла

Ответить
Настройки темы
Редирект после нажатия ссылкы для скачивания файла

Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120


Конфигурация

Профиль | Отправить PM | Цитировать


Недавно встретил этот вопрос на одном немецком форуме и сам озадачился данной проблемой.
Как же перенаправлять юзера после того, как он нажал на ссылку файла для скачивания? ПерепробЫвал пару вариантов, но ничего не получается.

Думал получится так: с помощью Header сделал диалог форсирования скачивания (иначе говоря, можно просто заголовками предложить скачать файл без нажатия на какую то ссылку), и после этих Хедеров вставил ещё один: header("Location:tuda.html")
Что самое интересное, браузер не реагирует на этот последний хедер, он просто предлагает загрузить файл и дальше ничего не происходит

Так что решение проблемы я пока не вижу

Отправлено: 03:42, 26-11-2004

 
ihc ihc вне форума

Аватара для ihc

Старожил


Сообщения: 194
Благодарности: 2

Профиль | Сайт | Отправить PM | Цитировать


Я использую RESPONSE.redirect(), но это в немного не в пхп.

Не очень понял задачу. Предположим, ссылка ведёт на /files/redirect, а тот должен выдать нужный файл, так? На нижнем уровне -- mod_rewrite, на уровне хидеров -- выдать код 302 и хидер location, на уровне html -- можно через meta, можно через JS.

Смотря зачем этот редирект нужен.

Отправлено: 03:56, 26-11-2004 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


vadimiron
ты пробел забыл!!!!

этот код работает:

PHP код: Выделить весь код

header('Location: '.$Redirect);

  
header('Pragma: no-cache'); 


Отправлено: 04:05, 26-11-2004 | #3


Аватара для vadimiron

Ветеран


Сообщения: 1864
Благодарности: 120

Профиль | Отправить PM | Цитировать


Vlad Drakula
Нее, дело не в этом
Получается, что с пробелом или без него, этот код не работает

Ещё раз поясняю, что нужно: Нужен делать редирект после того, как юзер нажал на ссылку файла (то есть чтобы скачать файл).

Первое предположение типа
HTML код: Выделить весь код
<a href="file.ext" onclick="document.location.href='next.php'";>FILE</a>

не работает

Потом я покапался в инете и узнал, что можно с помощью хедеров сделать так, чтобы юзеру предлагалось скачать файл, при этом, чтобы он предварительно никаких ссылок на данный файл не нажимал, поэтому моё второе предположение было:
PHP код: Выделить весь код

<?php
if (isset($download))
{
$myfile "file.ext";
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment; filename=".basename($myfile).";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($myfile));
readfile("$myfile");
header("Location: next.php");
}
?>
<html>
<head>
  <title></title>
</head>
<body>
<a href="?download=go"> FILE</a>
</body>
</html>

То есть при нажатии на ссылку, данная страница перезагружается с созданной переменной download, поэтому выполняется условие if, и сразу предлагается юзеру загрузить файл. Но так тоже не получается, потому что header("Location: next.php"); не выполняется.

Вообще, я пока не вижу решения данной задачи.
Единственное, что приходит в голову, так это поизвращаться с Java Script.
Например так:
При нажатии на ссылку с помощью Java Script создаём окно, содержанием которого являются эти самые хедеры, позволяющие сразу предлагать загружать файл, далее в родительском окне отсчитываем, например, 3 секунды (за это время хедеры точно должны быть обработаны), и по истечению 3 секунд закрываем дочернее окно

Какие ещё есть идеи
??????????????????????????????????????????????????????????????

Отправлено: 15:37, 27-11-2004 | #4

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


vadimiron
с хедерами в одном и том же файле файле действително и не должно получиться.
Когда у меня была аналогичная задача, я давала возможность нажать на "скачать" во всплывающем окне, а по закрытии этого самого дочернего окна рефрешила родительское. То есть почти такое же решение
В качестве дополнительного наворота по onClick это самое "скачать", помнится превращалось в "закрыть".

Отправлено: 16:34, 27-11-2004 | #5


Ночной странник


Contributor


Сообщения: 4050
Благодарности: 83

Профиль | Сайт | Отправить PM | Цитировать


vadimiron
что то ты не то делаешь...
то что я написал работает и причем достаточно стабильно!

может тебе немного поменять логику?

Отправлено: 23:41, 27-11-2004 | #6



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Редирект после нажатия ссылкы для скачивания файла

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Привод не открывается после первого нажатия на Eject Nomad_AlexSS Оптические приводы 18 12-08-2010 09:54
После вирусной атаки ОС загружается только после нажатия F8 Tatyana-st Лечение систем от вредоносных программ 6 26-12-2009 16:38
[решено] Блокировка кнопок после нажатия в GUI ZeroCrash AutoIt 7 13-07-2009 08:24
[решено] По нажатию по ссылке для скачивания файла в браузере кракозябы SashaKl Вебмастеру 12 21-05-2009 18:47
Разное - Залипает мышь после нажатия клавиатурных сочетаний Dirk Diggler Microsoft Windows 2000/XP 0 16-04-2009 08:06




 
Переход