检查cURL的进度

Nat*_*han 5 php curl

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

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

pha*_*t0m 4

您可以定义一个进度函数:

curl_setopt($curl, CURLOPT_PROGRESSFUNCTION, 'my_progress_handler');
Run Code Online (Sandbox Code Playgroud)

回调函数的名称,其中回调函数采用三个参数。第一个是 cURL 资源,第二个是文件描述符资源,第三个是长度。返回包含数据的字符串。

欲了解更多信息,请参见此处

注意:此注释对 PHP 自身的函数签名有争议。

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

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

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