Я пытаюсь прочитать только один кусок потока данных, используя curl.
В идеале я хотел бы просто получить первое изображение в потоке и записать его в файл jpg.
Я пытаюсь сделать это, используя WRITEFUNCTION и возвращая -1, если длина потока> скажем, 20000.
function receiveResponse($ch,$string) {
$length = strlen($string);
if($length >= 20000) { return -1; }
return $length;
}
$ch = curl_init('http://<url>/videostream.cgi');
curl_setopt($ch, CURLOPT_USERPWD, '<user>:<password>');
curl_setopt($ch, CURLOPT_WRITEFUNCTION, "receiveResponse");
curl_setopt($ch, CURLOPT_FILE, $fh);
curl_exec($ch);
Однако поток просто продолжает записывать в файл, который в конечном итоге становится все больше и больше в размере файла.
Я делаю что-то ужасно неправильно?
С уважением,