PHP

curl_multi_info_read

curl_multi_info_read

(PHP 5, PHP 7)

curl_multi_info_read - 获取有关当前传输的信息

描述

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

询问多处理是否有来自单个传输的消息或信息。消息中可能包含信息,例如来自传输的错误代码或传输已完成的事实。

重复调用此函数将每次都会返回一个新结果,直到FALSE返回a作为此时没有更多信息的信号。指向的整数msgs_in_queue将包含此函数被调用后的剩余消息数。

警告

返回的资源指向的数据将无法在调用curl_multi_remove_handle()时存活。

参数

mh

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

msgs_in_queue

仍在队列中的消息数量

返回值

成功时,在失败时返回FALSE消息的关联数组。

键:值:
味精CURLMSG_DONE常量。其他返回值目前不可用。
结果其中一个CURLE_ *常量。如果一切正常,CURLE_OK将成为结果。
处理curl类型的资源表示它所涉及的句柄。

例子

Example #1 A curl_multi_info_read() example

<?php $urls = array(    "http://www.cnn.com/",    "http://www.bbc.co.uk/",    "http://www.yahoo.com/" $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.0已添加msgs_in_queue。

← curl_multi_getcontent

curl_multi_init →