Download файла (я знаю что таких было миллионы, но здесь не совсем такой)

  • Автор темы Perf2k2
  • Дата начала

Perf2k2

Guest
Download файла (я знаю что таких было миллионы, но здесь не совсем такой)

Мда. Итак - download файла. Я делаю download файла с сервера на комп. Ставлю заголовки, читаю файл и он отдается пользователю. Это все.
А теперь - что мне нужно: чтобы файл отдавался пользователю не сразу, а после рефреша. Знаете как бывает на всяких сайтах? Кликает чел на ссылку, открывается новое окно и там написано - "Через несколько секунд начнется загрузка файла, если этого не произошло - нажмите сюда." Так вот - мне бы тоже так. Только вот не получается. Я ставил хедеры, потом пытался вывести ХТМЛ, а потом прочитать файл. Но ясен пень - нефига не получалось - хедеры-то для скачивания, поэтому просто начинал скачиваться файл и ничего в браузер не выводилось.
Вопрос такой: глючу я? глючит браузер (ИЕ 6.0)? глючит ПХП? глючат все? Если я, то подскажите как мне не глючить ("Момент" не нюхаю, травкой не балуюсь :) )

Хедер:
PHP:
header("Content-Disposition: attachment; filename=rus-".$rid.".rar");
readfile("../arch/rus-".$rid.".rar");
 

Perf2k2

Guest
>http://www.phpclub.net/talk/showthread.php?s=&threadid=29159&highlight=meta+refresh
Так это я пробовал - он мне просто содержание файла показывает и все. В данном случае RARовского архива. Если имелось ввиду вот это: <meta http-equiv="refresh" content="5; url=/arch/rus-<?=$rid?>.rar">
 

Bloody

Guest
А ты рефрешь на скрипт, который тебе файл выдает...
 

Perf2k2

Guest
Bloody
Неее.... Этот скрипт и должен выдавть файл. Или мне делать два скрипта для download'а? Это какое-то извращение однако...
 

Perf2k2

Guest
Для примера: http://gta.ag.ru/files/vc/programs/download/?26
Если просмотреть сырец, то видно, что нет там никакого meta refresh. Не факт конечно, что там ПХП, но все-таки...
 

Bloody

Guest
Можно редиректить на тот же скрипт, только с другими параметрами, например:
download.php?pragma=wait&file=*.* редиректит тебя на download.php?pragma=nowait&file=*.*
А насчет отсутствия редиректа в сырцах - тебе не приходило в голову что редирект можно забить в хидеры?..
 

Perf2k2

Guest
Bloody, хорошая мысля. Буду идти в этом направлении. Спасибо.
 

_RVK_

Новичок
Какие мета?! JavaScript! Выходишт по ссылке на страницу где JS и HTML. Через n секунд JS редиректит на скрипт (файл) и начинается закачка.
 

Bloody

Guest
Да ладно уж... Без мета можно обойтись... А ЖалкийСкрип может быть отключен. Так что альтернативные решения все-таки лучше...
 

netdog

net @
Вот еще вариант хидерный...
PHP:
<?php
header("Refresh: 10;URL=http://www.some.org/some.html");

echo ' Тра-ля-ля тополя, редирект пргоизойдет через 10 сек...  ';
?>
 
Сверху