@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


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

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


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

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

Войти через центр авторизации
Похожие вопросы
Ведисофт Екатеринбург
от 25 000 ₽
YCLIENTS Москва
от 200 000 до 350 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
23 апр. 2024, в 08:58
15000 руб./за проект
23 апр. 2024, в 08:42
60 руб./за проект