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
<? // initialize multiple $multi_handle = curl_multi_init(); // initialize curl $handle1 = curl_init(); $handle2 = curl_init(); // set curl curl_setopt($handle1, CURLOPT_URL, "https://osbo.com/"); curl_setopt($handle1, CURLOPT_RETURNTRANSFER, 1); curl_setopt($handle2, CURLOPT_URL, "https://osbo.com/"); curl_setopt($handle2, CURLOPT_RETURNTRANSFER, 1); // add curl to multiple curl_multi_add_handle($multi_handle, $handle1); curl_multi_add_handle($multi_handle, $handle2); // execute multiple do { curl_multi_exec($multi_handle, $still_running); } while($still_running); // read multiple while($info = curl_multi_info_read($multi_handle)) { print_r($info); } // remove curl from multiple curl_multi_remove_handle($multi_handle, $handle1); curl_multi_remove_handle($multi_handle, $handle2); // close curl curl_close($handle1); curl_close($handle2); // close multiple curl_multi_close($multi_handle);
Array ( [msg] => 1 [result] => 0 [handle] => CurlHandle Object ( ) ) Array ( [msg] => 1 [result] => 0 [handle] => CurlHandle Object ( ) )
2 · queued_messages
<? // initialize multiple $multi_handle = curl_multi_init(); // initialize curl $handle1 = curl_init(); $handle2 = curl_init(); // set curl curl_setopt($handle1, CURLOPT_URL, "https://osbo.com/"); curl_setopt($handle1, CURLOPT_RETURNTRANSFER, 1); curl_setopt($handle2, CURLOPT_URL, "https://osbo.com/"); curl_setopt($handle2, CURLOPT_RETURNTRANSFER, 1); // add curl to multiple curl_multi_add_handle($multi_handle, $handle1); curl_multi_add_handle($multi_handle, $handle2); // execute multiple do { curl_multi_exec($multi_handle, $still_running); } while($still_running); // read multiple while($info = curl_multi_info_read($multi_handle, $queued_messages)) { print_r($info); echo $queued_messages . PHP_EOL; } // remove curl from multiple curl_multi_remove_handle($multi_handle, $handle1); curl_multi_remove_handle($multi_handle, $handle2); // close curl curl_close($handle1); curl_close($handle2); // close multiple curl_multi_close($multi_handle);
Array ( [msg] => 1 [result] => 0 [handle] => CurlHandle Object ( ) ) 1 Array ( [msg] => 1 [result] => 0 [handle] => CurlHandle Object ( ) ) 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