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|falseParameters
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_init_persistent
- curl_share_setopt
- curl_share_strerror
- curl_strerror
- curl_unescape
- curl_upkeep
- curl_version