检查cURL的进度

时间:2011-06-21 16:04:49

标签: php curl

有没有办法检查curl命令的状态?说,我有一个来自php的curl调用,使用exec启动它。有没有办法在它运行时检查它的进度?或者我必须等待它完成?

exec(“curl $ url -k> / dev / null 2>& 1&”);

1 个答案:

答案 0 :(得分:4)

您可以定义进度函数:

curl_setopt($curl, CURLOPT_PROGRESSFUNCTION, 'my_progress_handler');
  

回调函数的名称在哪里   回调函数需要三个   参数。第一个是cURL   资源,第二是   文件描述符资源,以及   第三是长度。返回字符串   包含数据。

有关详细信息,请参阅here

注意:This comment对PHP自己的功能签名提出异议。

无法使用exec(),因为它是阻止功能。它将等待,直到手头的程序终止 编辑:哦,我看到你使用了&符号,没关系

可以使用的是popen(),但除非curl有一个输出进度的好方法,否则这不会很漂亮。

我建议将-#作为参数传递给curl,这样就可以很好地从输出流中获取进度。