(PHP 5, PHP 7)
curl_multi_info_read — Возвращает информацию о текущих операциях
$mh
[, int &$msgs_in_queue
= NULL
] ) : arrayОпрашивает набор дескрипторов о наличии сообщений или информации от индивидуальных передач. Сообщения могут включать такую информацию как код ошибки передачи или просто факт завершения передачи.
Повторяющиеся вызовы этой функции будут каждый раз возвращать
новый результат, пока не будет возвращено FALSE
в качестве
сигнала окончания сообщений. Целое число, содержащееся в
msgs_in_queue
, указывает количество оставшихся
сообщений после вызова данной функции.
Данные, на которые указывает возвращаемый ресурс, будут затерты вызовом curl_multi_remove_handle().
mh
Мультидескриптор cURL, полученный из curl_multi_init().
msgs_in_queue
Количество оставшихся сообщений в очереди
В случае успеха возвращает ассоциативный массив сообщений, или FALSE
в случае
неудачи.
Ключ: | Значение: |
---|---|
msg | Константа CURLMSG_DONE . Остальные возвращаемые
значения пока недоступны. |
result | Одна из констант CURLE_* . Если все
хорошо, результатом будет константа CURLE_OK . |
handle | Ресурс типа curl, указывающий на дескриптор, к которому он относится. |
Пример #1 Пример использования curl_multi_info_read()
<?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);
if ($active) {
curl_multi_select($mh);
}
$info = curl_multi_info_read($mh);
if (false !== $info) {
var_dump($info);
}
} while ($active && $status == CURLM_OK);
foreach ($urls as $i => $url) {
$res[$i] = curl_multi_getcontent($conn[$i]);
curl_close($conn[$i]);
}
var_dump(curl_multi_info_read($mh));
?>
Результатом выполнения данного примера будет что-то подобное:
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)
Версия | Описание |
---|---|
5.2.0 |
Добавлен параметр msgs_in_queue .
|