我正在尝试使用curl只读取一个数据流块。PHP CURLOPT_WRITEFUNCTION似乎不工作
理想情况下,我想只是检索流中的第一个图像,并将其写入一个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);
但是流只是继续写这最终越来越大的文件,文件大小更大。
我在做可怕的错误吗?
问候,
答案是非常好的。 但是,如果你使用谷歌搜索“PHP CURLOPT_WRITEFUNCTION似乎并没有工作”,并没有什么可以帮助你...... 请确保从您尝试访问的URL的外出端口是开放的。 –