PHP 5.4.36 Released

curl_multi_info_read

(PHP 5)

curl_multi_info_readOttiene informazioni sui trasferimenti correnti

Descrizione

array curl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] )

Chiede all'handle multiplo se c'è qualche messaggio o informazione dai trasferimenti individuali. I messaggi possono includere informazioni come un codice di errore dal trasferimento o solo il fatto che il trasferimento è completato.

Chiamate ripetute a questa funzione restituiranno un nuovo risultato ogni volta, finchè non viene restituito un FALSE come segnale che non c'è più nulla da ottenere a quel punto. L'intero a cui punterà msgs_in_queue conterrà il numero dei messaggi rimanenti dopo che questa funzione è stata chiamata.

Avviso

I dati a cui la risorsa restituita punta non sopravviveranno chiamando curl_multi_remove_handle().

Elenco dei parametri

mh

Un identificativo multiplo rstituito da curl_multi_init().

msgs_in_queue

Il numero di messaggi che sono ancora in coda

Valori restituiti

In caso di successo, restituisce un array associativo per il messaggio, FALSE in caso di fallimento.

Contenuto dell'array restituito
Chiave: Valore:
msg La costante CURLMSG_DONE. Altri valori restituiti non sono attualmente disponibili.
result Una delle costanti CURLE_*. Se tutto è OK, il risultato sarà CURLE_OK.
handle Risorsa di tipo curl indica l'handle a cui è associato.

Esempi

Example #1 Un esempio di 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_RETURNTRANSFER1);
    
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));

?>

Il precedente esempio visualizzerà qualcosa simile 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)

Log delle modifiche

Versione Descrizione
5.2.0 È stato aggiunto msgs_in_queue.

Vedere anche:

add a note add a note

User Contributed Notes 1 note

up
0
Nick Smith
4 years ago
Just to let others who might be struggling to get it to work, curl_multi_info_read() doesn't work in PHP versions before 5.2.0, and instead returns NULL immediately.
To Top