(PHP 5)
Curl_multi_info_read — Получить соответствующую информацию о передаче для анализируемого в данный момент cURL
массив cur_multi_info_read (ресурс $mh [, int &$msgs_in_queue = NULL])
Запросите дескриптор пакета, чтобы узнать, есть ли сообщения или информация, возвращенные в отдельный поток передачи. Сообщения могут содержать такие отчеты, как коды ошибок, возвращенные из отдельных потоков передачи, или просто о том, завершился ли поток передачи.
Эта функция вызывается неоднократно и каждый раз возвращает новый результат, пока информация не перестанет возвращаться и в качестве сигнала не будет возвращено ЛОЖЬ. Целое число, возвращаемое msgs_in_queue, указывает, что оно будет содержать количество сообщений, оставшихся после вызова этой функции.
Примечание. Данные, на которые указывает возвращенный ресурс, не будут существовать после вызова cur_multi_remove_handle().
мх
Несколько дескрипторов cURL, возвращаемых функцией Curl_multi_init().
msgs_in_queue
Количество сообщений, все еще находящихся в очереди.
Возвращает массив соответствующей информации в случае успеха и возвращает FALSE в случае неудачи.
Содержимое возвращаемого значения (возвращает содержимое массива):
ключ | ценить |
---|---|
сообщение | Константа CURLMSG_DONE . Другие возвращаемые значения на данный момент недоступны. |
результат | Одна из констант CURLE_* . Если со всеми операциями проблем нет, будет возвращена константа CURLE_OK . |
ручка | Тип ресурса 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 = cur_multi_exec($mh, $active); $info = cur_multi_info_read($mh if (false!== $info); ) { var_dump($info }} while ($status ===); CURLM_CALL_MULTI_PERFORM || $active);foreach ($urls as $i => $url) { $res[$i] = cur_multi_getcontent($conn[$i]);}var_dump( curl_multi_info_read($mh));?>
Вывод вышеуказанной процедуры аналогичен:
array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> ресурс(5) типа (curl)}array(3) { [ "msg"]=> int(1) ["result"]=> int(0) ["handle"]=> ресурс(7) типа (curl)}array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> ресурс(6) типа (curl)}bool(false)
Версия | иллюстрировать |
---|---|
5.2.0 | msgs_in_queue добавлен. |