PHP curl_multi_info_read函数
PHP 教程
· 2019-01-23 13:58:16
(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。
返回值内容(返回数组的内容) :
键 | 值 |
---|---|
msg | CURLMSG_DONE 常量。其他返回值当前不可用。 |
result | CURLE_* 常量之一。如果一切操作没有问题,将会返回CURLE_OK 常量。 |
handle | cURL资源类型表明它有关的句柄。 |
实例
<?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.0 |
msgs_in_queue 被加入。
|
点击查看所有 PHP 教程 文章: https://www.codercto.com/courses/l/5.html
计算机科学概论(第7版) (平装)
J.Glenn Brookshear / 王保江 / 人民邮电出版社 / 2003-9 / 49.0
《计算机科学概论(第2版)》更新了部分内容,使其更加贴近于计算机科学领域内的最新趋势,这包括了网络安全、开源运动、关联存储、公钥加密、XML、Java和C#等内容。扩充了网络和Internet所覆盖的内容。一个程序用C#语言编写,还有C、C++和Java,作为语言的例子。不过整个方法依旧保持语言的独立。一起来看看 《计算机科学概论(第7版) (平装)》 这本书的介绍吧!