Эта тема на forum.dklab.ru


mira: Скачивание файла по HTTP по частям средствами PHP
Необходимо скачать файл по HTTP по частям посредством php.

Так скачиваем весь файл!


$handle = fopen("http://www.server.com/file.zip", 'rb');
$output = fopen('file.zip', 'wb');
do {
$data = fread($handle, 8192);
if (strlen($data) == 0) {
break;
}
fwrite($output, $data, strlen($data));
} while (true);
fclose($handle);
fclose($output);


А как сказать удаленному серверу http://www.server.com/, чтобы он вернул кусок файла file.zip (от сих, до сих байт)?
fseek - не поддерживается удаленно!!!

Что делать?
Валенок:
отправьте заголовок Range: bytes=123-456 (вроде так)
kernel32:
mira, попробуйте использовать в запросе заголовок Range:
Range: bytes=<начало>-<конец>
Если нужно с какого-либо "места" до конца файла, используйте так:
Range: bytes=<начало>-
Только учтите, что сервер, к которому вы подключаетесь, может и не поддерживать возможности передачи файлов по частям.

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

А как отправить этот заголовок? Ведь я использую функцию fopen...
Какой функцией отправить заголовок на сервер?
Юрий Насретдинов:
mira
Используйте fsockopen
Anonymous:
а как отрезать заголовки?
Юрий Насретдинов:
Гость
когда прочитаете всё содержимое (скажем, в переменную $content), сделайте так:


$t = explode("\n\n", $content, 2);
$content = $t[1];

Эта тема на forum.dklab.ru