curl_multi_info_read
Description
The curl_multi_info_read of cURL for PHP gets information about the current transfers.
Syntax
curl_multi_info_read( CurlMultiHandle $multi_handle, int &$queued_messages = null ): array|false
Parameters
multi_handle
A cURL multi handle returned by curl_multi_init().
queued_messages
The number of messages that are still in the queue.
Return
Returns an associative array for the message on success, false on failure.
Key | Value |
---|---|
msg | The CURLMSG_DONE constant. Other return values are currently not available. |
result | One of the CURLE_* constants. If everything is OK, the CURLE_OK will be the result. |
handle | Resource of type curl indicates the handle which it concerns. |
Examples
1 · multi_handle
<? $urls = array( "https://osbo.com/", "https://osbo.com/" ); $multi_handle = curl_multi_init(); foreach($urls as $i => $url) { $conn[$i] = curl_init($url); curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1); curl_multi_add_handle($multi_handle, $conn[$i]); } do { $status = curl_multi_exec($multi_handle, $active); if($active) { curl_multi_select($multi_handle); } while(false !== ($info = curl_multi_info_read($multi_handle))) { var_dump($info); } } while($active && $status == CURLM_OK); foreach($urls as $i => $url) { $res[$i] = curl_multi_getcontent($conn[$i]); curl_close($conn[$i]); }
array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> object(CurlHandle)#2 (0) { } } array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> object(CurlHandle)#3 (0) { } }
2 · queued_messages
<? $urls = array( "https://osbo.com/", "https://osbo.com/" ); $multi_handle = curl_multi_init(); foreach($urls as $i => $url) { $conn[$i] = curl_init($url); curl_setopt($conn[$i], CURLOPT_RETURNTRANSFER, 1); curl_multi_add_handle($multi_handle, $conn[$i]); } do { $status = curl_multi_exec($multi_handle, $active); if($active) { curl_multi_select($multi_handle); } while(false !== ($info = curl_multi_info_read($multi_handle, $queued_messages))) { var_dump($info, $queued_messages); } } while($active && $status == CURLM_OK); foreach($urls as $i => $url) { $res[$i] = curl_multi_getcontent($conn[$i]); curl_close($conn[$i]); }
array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> object(CurlHandle)#2 (0) { } } int(0) array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> object(CurlHandle)#3 (0) { } } int(0)
Links
cURL
- curl_close
- curl_copy_handle
- curl_errno
- curl_error
- curl_escape
- curl_exec
- curl_getinfo
- curl_init
- curl_multi_add_handle
- curl_multi_close
- curl_multi_errno
- curl_multi_exec
- curl_multi_getcontent
- curl_multi_init
- curl_multi_remove_handle
- curl_multi_select
- curl_multi_setopt
- curl_multi_strerror
- curl_pause
- curl_reset
- curl_setopt
- curl_setopt_array
- curl_share_close
- curl_share_errno
- curl_share_init
- curl_share_setopt
- curl_share_strerror
- curl_strerror
- curl_unescape
- curl_upkeep
- curl_version