Forum Webscript.Ru

Программирование => PHP => Тема начата: maxbiz от 23 Июля 2002, 13:03:41

Название: Что за бред?
Отправлено: maxbiz от 23 Июля 2002, 13:03:41
Нужно сделать download файлов с сервера клиенту.

Делал двумя способами и ни один не работет

1.
header("Content-disposition: filename=$file");
header("Content-type: application/octetstream");
header("Pragma: no-cache");
header("Expires: 0");

В этом способе выскакиевает окошко "Сохранить", но предлагает сохранить не указанный файл, а файл-скрипт из которого идет вызов этого заголовка

2.
Просто делаю редирект:

header("Location: $file");

Этот способ работает в Opera, но наотрез отказывается работать в MSIE 6, где просто выводится белый экран и типа иконка отсутствия рисунка в левом верхнем углу. Причем так я уже попадал в MSIE 6 и на других сайтах. Может в нем че надо включить?

Как быть? Где поискать исходники на эту тему?

Есть еще одна проблема. Так как я работаю с авторизацией по сессии, а сессии идут только(!!!) через SID (индентификатор), то в ссылку на архив для download влазит индентификатор (?SID=lsk1231kl3jkjskgfj123j12k3j)

Как убрать индентификатор  из URL? Варианты типа работай с сессией через куки не предлагать...
Название: Что за бред?
Отправлено: Covex от 24 Июля 2002, 22:20:20
http://forums.webscript.ru/showthread.php?s=&threadid=7059&msgnum=5
у меня MSIE 6 - все работает......

Цитировать
индентификатор из URL? Варианты типа работай с сессией через куки не предлагать...
сделай фреймы :)
Название: Что за бред?
Отправлено: advocat от 28 Июля 2002, 11:59:31
не ну чесное слово, что-бы далеко неходить, берем первую попавшуюся ссылку с моего сайта http://www.rip.net.ua/rusoft.php?id=1 клацаем по ссылке скачать, предлагает скачать файл ! с именем файла, хотя сделано обычным хеадер локатион !
Название: Что за бред?
Отправлено: maxbiz от 28 Июля 2002, 12:33:14
Ну пошел я по твоей ссылочке, а потом нажал доунлоад, на что опять получил описанное мной выше пустое белое окно с иконкой... Вот такая феня непонятная....

Может че в IE нужно включить или выключить?
Название: Что за бред?
Отправлено: advocat от 28 Июля 2002, 12:53:05
мне кажется, кто-то над твоим ие, возможно ты "зверски поработал отверткой". Проверь настройки файлов, а лучше востанови все по умолчанию ! Тебя же спрашивают обычно. что сделать с энтим файлом ... ну ты видимо и нажал открыть :) ну и ессественно пимпочку "не задавать таких глупых вопросв в двльнейшем" ;)
Название: Что за бред?
Отправлено: advocat от 28 Июля 2002, 12:54:19
З.Ы. у меня версия ИЕ 6.0.2600.0000 и ссылка работает, только что лично убедился еще раз ...
Название: Что за бред?
Отправлено: Jurik от 13 Марта 2003, 15:26:53
Скрипт работает. Но как сделать, чтобы сначала спросило, а потом закачало?
А то ведь при запуске скрипта файл сначало закачивается, а потом предлагает сохранить или открыть (это заметно в случае с большими файлами - фильмами).
Название: Что за бред?
Отправлено: Maniac от 13 Марта 2003, 15:52:31
Цитировать
Jurik:
при запуске скрипта файл сначало закачивается

Чего??????? IE всегда ПЕРЕД закачкой спрашивает. А когда он мигает летающим документиком - он проверяет файл на доступность
Название: Что за бред?
Отправлено: Jurik от 13 Марта 2003, 16:02:30
А почему большие файлы он дольше проверяет.
Можешь попробовать сам. С фильмами он проверяет около минуты.
Название: Что за бред?
Отправлено: Maniac от 13 Марта 2003, 16:09:21
Обычно фильмы качаются с варезников, а те не очень шустрые. Факт в том, что фильм не закачивается за минуту
Название: Что за бред?
Отправлено: Jurik от 13 Марта 2003, 16:19:19
Я пробую на своем компьютере, т.е. локально.

  header("Content-type: application/xxxxxxx");
  header("Content-Disposition: attachment; filename=$name");
  readfile($link);

?>

вызываю так 1.php?filename=aaa.avi&link=c:/vide/aaa.avi
здесь как раз и получается минута на полное копирование фильма куда-то (правда я пока не проверял, куда он копирует и как называет, но хард напрягается на всю катушку).
Название: Что за бред?
Отправлено: FreeSpace от 17 Марта 2003, 21:19:26
Можен у тебя просто какой-то глюк с вебсервером (или так и должно быть?) и он сначала загружает весь фильм в оперативку (и в своп), а только потом начинает его отправлять?
Или ещё какой баг сервер-сайд...