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 →