Forum Webscript.Ru

Программирование => PHP => Тема начата: ArtemB от 09 Октября 2004, 14:43:12

Название: Редирект на скачивание файла
Отправлено: ArtemB от 09 Октября 2004, 14:43:12
Как сделать редирект на скачивание файла с сервера?
Если делать Header("Location: $path"), то файл загружается в браузер.
Очень нужна Ваша помощь.Заранее благодарю.
Название: Редирект на скачивание файла
Отправлено: Меняздесьдавнонет от 09 Октября 2004, 23:45:29
http://xpoint.ru/forums/programming/PHP/faq.xhtml#187
после этоих заголовков надо, конечно же, прочитать и выдать пользователю и сам файл, Readfile()
Название: Редирект на скачивание файла
Отправлено: ArtemB от 10 Октября 2004, 02:26:00
header("Content-Disposition: attachment; filename=\'$path\'");
header("Content-Type: application/x-force-download; name=\\"$path\\"");

Все равно не качает. Переменная $path вида http://www.mysite.ru/myfile.zip

В чем проблема? Подскажите, пожалуйста.
Название: Редирект на скачивание файла
Отправлено: Mog. от 10 Октября 2004, 08:52:11
А как насчет
Цитировать
RomikChef:
после этоих заголовков надо, конечно же, прочитать и выдать пользователю и сам файл
Ты это делаешь?
Название: Редирект на скачивание файла
Отправлено: ArtemB от 10 Октября 2004, 10:23:06
Пожалуйста, объясните что нужно еще сделать и как. Сейчас нет человека, который мне помогал в PHP, а это далеко не моя специальность. Очень нужна Ваша помощь.
Название: Редирект на скачивание файла
Отправлено: Меняздесьдавнонет от 10 Октября 2004, 10:41:11
Цитировать
ArtemB:
Переменная $path вида http://www.mysite.ru/myfile.zip

а зачем она такого вида?
с каких это пор у нас файлы на диске начали начинаться с http:?
Название: Редирект на скачивание файла
Отправлено: Mog. от 10 Октября 2004, 11:27:58
ArtemB
Пожалуйста обьясни, что ты хочешь сделать.
Просто редирект или скриптом файл отдать?
Название: Редирект на скачивание файла
Отправлено: Меняздесьдавнонет от 10 Октября 2004, 11:43:50
ему надо сделать нак, чтобы файл скачивался а не огткрывался.
он, вроде бы, ясно написал
Название: Редирект на скачивание файла
Отправлено: Mog. от 10 Октября 2004, 12:19:45
Цитировать
ArtemB:
Если делать Header("Location: $path"), то файл загружается в браузер.

Цитировать
ArtemB:
Переменная $path вида http://www.mysite.ru/myfile.zip

Что это за броузер, который открывает zip файлы?
Что это за сервер, который после локейшна отдает zip файлы так, что они открываются в броузере?
RomikChef
Да, написано ясно, но каким путем он это хочет сделать не совсем понятно.
Цитировать
ArtemB:
а это далеко не моя специальность
Вот это тоже понятно.
Название: Редирект на скачивание файла
Отправлено: ArtemB от 10 Октября 2004, 16:55:29
Путь к файлу храниться в таблице БД MySQL. Эта переменная в виде текстовой строки присваевается упомянутой $path.
Нужно, чтобы пользователь нажал на ссылку, выполнилось добавление данных в таблицу, а потом появилось окно для скачивания файла.
Название: Редирект на скачивание файла
Отправлено: Меняздесьдавнонет от 10 Октября 2004, 18:03:16
ArtemB
Да пусть хоть в архивах КГБ хранится!
Тебя спрашивают не где хранится, а почему имя у файла такое странное!
Название: Редирект на скачивание файла
Отправлено: ArtemB от 11 Октября 2004, 18:30:03
"почему имя у файла такое странное"

Обычный файл-архив. На поставленный вопрос кто-нибудь может дать ответ?
Название: Редирект на скачивание файла
Отправлено: Neter от 11 Октября 2004, 19:44:49
ArtemB
Тупак, надо указывать  путь до файла на диске. (тоесть без "http://mysite.ru").
Название: Редирект на скачивание файла
Отправлено: ArtemB от 12 Октября 2004, 02:23:00
Все равно не качается. Вместо zip-файла начинает качать php-файл.
Название: Редирект на скачивание файла
Отправлено: Neter от 12 Октября 2004, 11:41:15
Приведи здесь код. Какой браузер?
Цитировать
Не мешало бы также ссылаться на скрипт как http://.../download.php?file.dat, иначе браузеры, основанные на Mozilla, могут попытаться записать файл как file.dat.php.
Название: Редирект на скачивание файла
Отправлено: ArtemB от 24 Октября 2004, 03:15:06
Explorer. Вот код:

$SQL="SELECT * FROM downloads where  id = \'".$id."\'";

   $result=mysql_query($SQL);
   $num_results=mysql_num_rows($result);


if ($num_results == 0)
{
print \'

Не верно заданы параметры

\';
  exit;
}

$row=mysql_fetch_object($result);
$summa_book=$row->summa;
$name_book=$row->name;
$path_book=$row->path;

$summa_book=$summa_book+1;

$SQL="UPDATE downloads SET summa=\'$summa_book\' where  id = \'".$id."\'";
$result=mysql_query($SQL);

mysql_close($conn);


header("Content-Disposition: attachment; filename=\'$path_book\'");
header("Content-Type: application/x-force-download; name=\\"$path_book\\"");
Название: Редирект на скачивание файла
Отправлено: Mog. от 25 Октября 2004, 07:59:08
попробуй добавить после заголовков
print file_get_contents($path_book);
только $path_book должнабыть не виртуальный http://www.lala.xxx/file.zip
а обычный путь до файла