@khodos_dmitry

Почему при скачке больших файлов через curl иногда они не докачиваются?

Файл скачивается, но в результате его размер равен 0.
Время работы скрипта стоит 6000 секунд.
  • Вопрос задан
  • 412 просмотров
Решения вопроса 1
@remzalp
Программер чего попало на чем попало
логируете всё на стороне php (лог ошибок посмотреть)
берётё tcpdump, сохраняете дамп, анализируете в Wireshark

одна из очевидных ошибок - пытаетесь всё забрать в оперативную память (отдаёте в переменную), а надо отдавать указатель на файл. CURLOPT_RETURNTRANSFER в случае больших файлов - вреден.

Пример:
$out = fopen($local_path.$newfilename,"wb");
$ch = curl_init();
curl_setopt($ch, CURLOPT_FILE, $out);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_URL, $file);

curl_exec($ch);
curl_close($ch);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.
скачивать надо потому что другими прогами типа https://aria2.github.io/
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы