我有另一个答案可以更好地解决这种情况,以便为后代留下。
CURLOPT_WRITEFUNCTION
对此有好处,但CURLOPT_PROGRESSFUNCTION
最好。
// We need progress updates to break the connection mid-way
curl_setopt($cURL_Handle, CURLOPT_BUFFERSIZE, 128); // more progress info
curl_setopt($cURL_Handle, CURLOPT_NOPROGRESS, false);
curl_setopt($cURL_Handle, CURLOPT_PROGRESSFUNCTION, function(
$DownloadSize, $Downloaded, $UploadSize, $Uploaded
){
// If $Downloaded exceeds 1KB, returning non-0 breaks the connection!
return ($Downloaded > (1 * 1024)) ? 1 : 0;
});
请记住,即使PHP.net 声明^为CURLOPT_PROGRESSFUNCTION
:
接受五个参数的回调。
我的本地测试只有四 (4) 个参数,因为第一个(句柄)不存在。