У меня есть асинхронный сканер curl, который работает хорошо без CURLOPT_WRITEFUNCTION
включен.
Я пытаюсь ограничить количество данных, загружаемых с CURLOPT_WRITEFUCNTION
остановив любые загрузки, которые превышают 1 МБ в размере.
У меня проблема в том, что curl_multi_getcontent($done['handle'])
не возвращает данные при использовании CURLOPT_WRITEFUCNTION
,
Я знаю, что могу играть с данными внутри CURLOPT_WRITEFUCNTION
функция, но это сделало бы намного проще, если curl_multi_getcontent($done['handle'])
продолжал делать свою работу в сочетании с CURLOPT_WRITEFUCNTION
,
Можно ли использовать curl_multi_getcontent и CURLOPT_WRITEFUNCTION вместе?
Ответ на мой собственный вопрос таков:
CURLOPT_RETURNTRANSFER — это встроенная функция WRITEFUNCTION.
Когда вы указываете другую WRITEFUNCTION, вы переопределяете CURLOPT_RETURNTRANSFER и, таким образом, должны сами RETURNTRANSFER, если вы пытаетесь это сделать.
Хотелось бы, чтобы пакет php curl выдавал ошибку в духе «предупреждение: CURLOPT_WRITEFUNCTION переопределяет CURLOPT_RETURNTRANSFER», но я уверен, что у них есть причины этого не делать.
Других решений пока нет …