Xwab
Форумыnavigate_nextПрограммирование на PHP

Отдача файлов в PHP
Сообщения
wapmorgan

как же все таки правильно отдать нужный файл.
Какие заголовки отдавать, нужно ли файл отдавать частями и т.п.?

03 Июл 2010, 11:03
Fashion

всмысле частями?

03 Июл 2010, 11:04
Signum

Fashion, fread наверное

03 Июл 2010, 11:05
wapmorgan

кто то мне говорил, мол браузер лучше "переваривает" файл, отдаваемый к примеру по 1мб за единицу времени.

03 Июл 2010, 11:05
wapmorgan

вот нашел в истории.
--------

    while (connection_status() == 0 AND $startbyte <= $lastbyte)
    {
        $size = $lastbyte - $startbyte;
        $readsize = ($size > 1048576) ? 1048576 : $size + 1;
        echo @fread($fp, $readsize);
        $startbyte += $readsize;
        flush();
    }

03 Июл 2010, 11:06
Signum

while($read = fread($f, 70*1024)) {
echo $read;
}

03 Июл 2010, 11:08
wapmorgan

а стоит ли этого того?
нужно ли это вообще

03 Июл 2010, 11:37
Signum

Morgan, думаю нет, скорость скачки разная у всех,так что смысла нет отдавать мегабайт файла в секунду,если клиент не скачает столько,тогда уж целый файл и не заморачиваться

03 Июл 2010, 11:43
wapmorgan

а как насчет отправляемых заголовков?
отправляю
-------------
HTTP/1.1 200 Ok
ETag: блабла
Accept-Ranges: bytes
Content-Length: блабла
Connection: close
Content-Type: бла
Last-Modified: бла
Last-Modified: бла
Expires: бла GMT
Content-Disposition: attachment; filename="бла";
Content-Encoding: none
--
но не может браузер корректно отобразить размер файла, а также download менеджеры не могу скачать файл

03 Июл 2010, 11:59
suhonok

Скрипт отдачи файла с ограничением скорости скачивания и прочей чушью
Скачано с articles.org.ru
пример применения
$load = new cdownload('полный путь','миам тип');

03 Июл 2010, 12:10
Ответить на тему