Query: curl_multi_info_read
OS: php
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
CURL_MULTI_INFO_READ(3) 1 CURL_MULTI_INFO_READ(3) curl_multi_info_read - Get information about the current transfersSYNOPSISarray curl_multi_info_read NULL (resource $mh, [int &$msgs_in_queue])DESCRIPTIONAsk the multi handle if there are any messages or information from the individual transfers. Messages may include information such as an error code from the transfer or just the fact that a transfer is completed. Repeated calls to this function will return a new result each time, until a FALSE is returned as a signal that there is no more to get at this point. The integer pointed to with $msgs_in_queue will contain the number of remaining messages after this function was called. Warning The data the returned resource points to will not survive calling curl_multi_remove_handle(3).PARAMETERSo $mh -A cURL multi handle returned by curl_multi_init(3). o $msgs_in_queue - Number of messages that are still in the queueRETURN VALUESOn success, returns an associative array for the message, FALSE on failure. Contents of the returned array +-------+---------------------------------------------------+ | 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. | | | | +-------+---------------------------------------------------+EXAMPLESExample #1 A curl_multi_info_read(3) 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)); ?> The above example will output something similar to: 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)CHANGELOG+--------+---------------------------+ |Version | | | | | | | Description | | | | +--------+---------------------------+ | 5.2.0 | | | | | | | $msgs_in_queue was added. | | | | +--------+---------------------------+SEE ALSOcurl_multi_init(3). PHP Documentation Group CURL_MULTI_INFO_READ(3)