|
|
|
| Имеем: файлоы для скачивания на диске, каталог файлов на сайте, скрипт для подсчета числа скачиваний - стандартно, поэтому весь код не привожу
download.php?file=123456789
...ляляля работает собственно счетчик...
дальше отдаем файл
header('Content-type: application/octet-stream');
readfile($filename);
?>
Проблема в том, что это работает хорошо для маленьких файлов. Когда файл весит 1 гигабайт, насколько я понимаю, пехапе все равно пропускает его сквозь себя и при этом сервер виснет, ибо никаких ресурсов не хватит )
чтобы работал счетчик и отдавался файл, можно сделать так -
ляляля счетчик
header("Location: ".$filename);
но при этом файл качается так, как будто была дана прямая ссылка, и браузер выводит картинку или видео, в зависимости от своих настроек - прямо в свое окно, не давая скачать. Поэтому юзеру приходится сразу качать через контекстное меню по правой кнопке - "сохранить объект как".
А нельзя ли сделать так, чтобы большой файл отдавался на скачку сразу и по-умному? :) | |
|
|
|
|
|
|
|
для: Нечто
(15.08.2009 в 14:34)
| | Может вы в htaccess не прописали mime-типы?
И как вариант делать не Location а РЕДИРЕКТ на файл. | |
|
|
|
|
|
|
|
для: Akdmeh
(15.08.2009 в 15:15)
| | Причем тут mime-типы и размер передаваемого файла?
заголовок Location и является для браузера редиректом, вы о чем? | |
|
|
|