返回介绍

PHP curl_multi_info_read函数

发布于 2018-05-28 05:12:17 字数 2293 浏览 1107 评论 0 收藏 0

PHP cURL参考手册

(PHP 5)

curl_multi_info_read — 获取当前解析的cURL的相关传输信息

说明

array curl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] )

查询批处理句柄是否单独的传输线程中有消息或信息返回。消息可能包含诸如从单独的传输线程返回的错误码或者只是传输线程有没有完成之类的报告。

重复调用这个函数,它每次都会返回一个新的结果,直到这时没有更多信息返回时,FALSE 被当作一个信号返回。通过msgs_in_queue返回的整数指出将会包含当这次函数被调用后,还剩余的消息数。

注意: 返回的资源指向的数据调用curl_multi_remove_handle()后将不会存在。

参数

mh

由 curl_multi_init() 返回的 cURL 多个句柄。

msgs_in_queue

仍在队列中的消息数量。

返回值

成功时返回相关信息的数组,失败时返回FALSE。

返回值内容(返回数组的内容) :

msgCURLMSG_DONE常量。其他返回值当前不可用。
resultCURLE_*常量之一。如果一切操作没有问题,将会返回CURLE_OK常量。
handlecURL资源类型表明它有关的句柄。

实例

<?php

$urls = array(
   "http://www.baidu.com/",
   "http://www.google.com.hk/",
   "http://www.w3cschool.cc/"
);

$mh = curl_multi_init();

foreach ($urls as $i => $url) {
    $conn[$i] = curl_init($url);
    curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1);
    curl_multi_add_handle($mh, $conn[$i]);
}

do {
    $status = curl_multi_exec($mh, $active);
    $info = curl_multi_info_read($mh);
    if (false !== $info) {
        var_dump($info);
    }
} while ($status === CURLM_CALL_MULTI_PERFORM || $active);

foreach ($urls as $i => $url) {
    $res[$i] = curl_multi_getcontent($conn[$i]);
    curl_close($conn[$i]);
}

var_dump(curl_multi_info_read($mh));

?>

以上例程的输出类似于:

array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(5) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(7) of type (curl)
}
array(3) {
  ["msg"]=>
  int(1)
  ["result"]=>
  int(0)
  ["handle"]=>
  resource(6) of type (curl)
}
bool(false)

更新日志

版本说明
5.2.0msgs_in_queue被加入。

PHP cURL参考手册

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文