докачка файла в php
1969
5
ёптыть... а к чему так сложно то? Не проще ли делать переадресацию в скрипте на файл который скачивается? и потом пусть сам веб-сервак разбирается с докачкой...
ну а по сути вопроса алгоритм такой:
1. читаем HTTP заголовок
2. ищем в нем запрос "Range: bytes=XXX-YYY" это и есть запрос на докачку файла с XXX байта по YYY
3. формируем заголовок и выводим из файла этот диапозон байт
ну а по сути вопроса алгоритм такой:
1. читаем HTTP заголовок
2. ищем в нем запрос "Range: bytes=XXX-YYY" это и есть запрос на докачку файла с XXX байта по YYY
3. формируем заголовок и выводим из файла этот диапозон байт
да все. написал сам.
тока сказали под каким-то DAPом не работает, а под регетом все нормально
тока сказали под каким-то DAPом не работает, а под регетом все нормально
zero divisor
activist
FYI: на дворе 21-й век, в пхп давно по-умолчанию выключено register_long_arrays. а вы всё туда же - $HTTP_SERVER_VARS 

if ($range) {fseek($fd, $range);}Странно... Если ты уже сделал смещение по файлу, то может нужно все-таки $content = fread($fd, filesize($filename)-$range); ? Я конечно понимаю, что функция fread обработает правильно если ты попытаешься считать больше байт, и упрешься в EOF, но все же...
}
$content = fread($fd, filesize($filename));
да ладно Вам мучить мой скрипт, знаю что косяки в нем есть, т.к. написать его надо было минут за 40. если по хорошему делать , то надо времени чуть по-больше.