Задать вопрос
@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 дек. 2024, в 13:47
1800 руб./в час
18 дек. 2024, в 13:22
30000 руб./за проект
18 дек. 2024, в 12:37
10000 руб./за проект