Задать вопрос
@rommcr

CURL и большие файлы — проблема отслеживания прогресса. Как победить?

Система: windows 8 x64.
apache / php - 64-битные версии.

При попытке скачивания через cURL большого файла (3+ гигабайта) сталкиваюсь со следующей проблемой:

установлен параметр
curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, [$this, 'handleCurlProgress']);


на вход в функцию вместо реального размера файла приходит число -2147483648 - ограничение INT, хотя система x64.

Но в случае, если превышен таймаут, то в сообщении об ошибке CURL отображает корректный размер файла:

Operation timed out after 1812 milliseconds with 348648 out of 3222376558 bytes received


Как добиться, чтобы на вход функции также приходил корректный размер файла?
  • Вопрос задан
  • 375 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Melkij
@Melkij
PostgreSQL DBA
Используйте *nix или обновляйтесь до PHP7
Под виндой в PHP5 целочисленные переменные только 32-битные.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@rommcr Автор вопроса
Откуда тогда

Operation timed out after 1812 milliseconds with 348648 out of 3222376558 bytes received


?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
18 янв. 2025, в 07:20
50000 руб./за проект
18 янв. 2025, в 03:12
1000 руб./за проект
18 янв. 2025, в 00:01
500 руб./за проект