Función PHP curl_multi_info_read
Manual de referencia de cURL de PHP
(PHP 5)
curl_multi_info_read — Obtiene la información de transferencia relacionada con el cURL actualmente analizado
Descripción
array curl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] )
Consulta si el manejador de lote tiene mensajes o información para devolver en hilos de transferencia individuales. Los mensajes pueden incluir informes como códigos de error devueltos por hilos de transferencia individuales o simplemente informes de si el hilo de transferencia ha finalizado o no.
Si se llama a esta función repetidamente, cada vez devolverá un nuevo resultado, hasta que, cuando no haya más información que devolver, se devuelve FALSE como señal. El entero devuelto mediante msgs_in_queue indica cuántos mensajes quedarán después de que se haya realizado esta llamada.
Nota:Los datos a los que apunta el recurso devuelto ya no existirán después de llamar a curl_multi_remove_handle().
Parámetros
mh
El manejador múltiple de cURL devuelto por curl_multi_init().
msgs_in_queue
El número de mensajes que aún están en la cola.
Valores de retorno
Devuelve un array con la información relevante en caso de éxito, o FALSE en caso de fallo.
Contenido del valor de retorno (contenido del array devuelto):
| Tecla | Valor |
|---|---|
| msg | CURLMSG_DONEConstante. Otros valores de retorno no están disponibles actualmente. |
| result | CURLE_*Una de las constantes. Si todo funcionó sin problemas, devolveráCURLE_OKconstante. |
| handle | El tipo de recurso cURL indica el manejador asociado. |
Ejemplos
<?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 = 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));
?>
La salida del ejemplo anterior es 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)
Registro de cambios
| Versión | Descripción |
|---|---|
| 5.2.0 |
msgs_in_queueAñadido. |
Otras extensiones