Вопрос № 29680: Здравствуйте!
Имеется ссылка, по нажатию на которую происходит редирект на определённый файл на сайте. Делаю через Header("Location: file_name");
Как сделать так, чтобы при нажатии на ссылку открывалось окно сохранения файла? И при ...
Вопрос № 29.680
Здравствуйте!
Имеется ссылка, по нажатию на которую происходит редирект на определённый файл на сайте. Делаю через Header("Location: file_name");
Как сделать так, чтобы при нажатии на ссылку открывалось окно сохранения файла? И при этом, чтобы сам скрипт не выдавал файл по кускам, а это уже делал сервер?
То есть, чтобы после:
header("Content-type: application/txt");
header("Content-Disposition: attachment; filename="_");
Выдачу файла осуществлял сервер.
Отправлен: 16.11.2005, 19:17
Вопрос задал: 3BEPEK (статус: 3-ий класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Дмитрий Иванов
Здравствуйте, 3BEPEK!
Ну и вопрос ты задал конечно.
Попробую вначале написать как я его понял, и уже исходя из этого видимые методы решения.
Как я понял "Location: file_name" ведет к PHP скрипту, который считывает файл и кидает его юзеру внутренними средствами PHP.
Возможные выходы:
1. (требует знаний) если это Apache то написать модуль (C или Perl) который по коду будет менять uri тогда твой php будет делать Location: /dir/?12345
код 12345 считывается модулем по коду (допустим из mysql) находится путь к файлу и apache кидает этот файл
2. использовать @readfile(путь к файлу);exit;
readfile - выдет файл сразу в STDOUT
--------- ставя оценку - подумай, может ты не все описал.
Ответ отправил: Дмитрий Иванов (статус: 5-ый класс)
Отправлен: 17.11.2005, 00:22
Отвечает: Андрей_26rus
Здравствуйте, 3BEPEK!
Думаю вы ищите это:
$fdown - путь к файлу например 'http://mydomen.com/down/file.zip'
$filename - имя файла выводимого пользователю, может отличаться от реального имени, например 'BestFile.zzz'
$fsize - размер файла
Приложение:
--------- - = Tertium non datur = -
Ответ отправил: Андрей_26rus (статус: 1-ый класс)
Отправлен: 17.11.2005, 08:30