(PHP 5, PHP 7)
curl_multi_info_read — Obtiene información de las transferencias en curso
$mh
[, int &$msgs_in_queue
= NULL
] ) : arrayPregunta al multi recurso si hay algún mensaje o información de cada una de las transferencias. Los mensajes quizá incluyen información como códigos de error de la transferencia o simplemente que la transferencia ha sido completada.
Cada vez que se llame a esta función devolverá un nuevo resultado, hasta que se devuelva FALSE
como indicador de que no hay nada más que obtener por el momento. El integer que devuelve
msgs_in_queue
contendrá el número de mensajes que quedan después de
que la función sea llamada.
Los datos que devuelve el recurso no permanecerán si se llama a la función curl_multi_remove_handle().
mh
El multi recurso cURL multi devuelto por curl_multi_init().
msgs_in_queue
Número de mensajes que todavía están en la cola
Si funciona, devuelve un array asociativo como mensaje, si falla devuelve FALSE
.
Clave: | Valor: |
---|---|
msg | La constante CURLMSG_DONE . Otros valores devueltos
no están actualmente disponibles. |
result | Una de las constantes CURLE_* . Si todo es
OK, se devolverá CURLE_OK . |
handle | Recurso de tipo curl que indica el controlador en cuestión. |
Ejemplo #1 Un ejemplo de 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);
$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));
?>
El resultado del ejemplo sería algo similar a:
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)
Versión | Descripción |
---|---|
5.2.0 |
msgs_in_queue fue añadido.
|