Fonction PHP curl_multi_info_read
(PHP 5)
curl_multi_info_read — Obtenir les informations relatives au transfert du cURL actuel
Description
array curl_multi_info_read ( resource $mh [, int &$msgs_in_queue = NULL ] )
Interroge si le handle de lot contient des messages ou des informations renvoyés par des threads de transfert individuels. Les messages peuvent contenir des rapports tels que des codes d'erreur renvoyés par des threads de transfert individuels, ou simplement des rapports indiquant si les threads de transfert sont terminés.
Appeler cette fonction de façon répétée renvoie un nouveau résultat à chaque fois, jusqu'à ce qu'il n'y ait plus d'informations à renvoyer, auquel cas FALSE est renvoyé comme signal. L'entier renvoyé via msgs_in_queue indique le nombre de messages qui resteront après cet appel de fonction.
Remarque :Les données pointées par la ressource renvoyée n'existeront plus après l'appel de curl_multi_remove_handle().
Parameters
mh
Le handle multi cURL renvoyé par curl_multi_init().
msgs_in_queue
Le nombre de messages encore présents dans la file d'attente.
Valeurs de retour
Retourne un tableau d'informations pertinentes en cas de succès, ou FALSE en cas d'échec.
Contenu de la valeur de retour (contenu du tableau retourné)
| Touche | Valeur |
|---|---|
| msg | CURLMSG_DONEUne constante. Les autres valeurs de retour ne sont actuellement pas disponibles. |
| result | CURLE_*L'une des constantes. Si tout fonctionne sans problème, elle retourneraCURLE_OKConstante. |
| handle | Un type de ressource cURL indiquant le handle auquel il est associé. |
Exemples
<?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 sortie de l'exemple ci-dessus est similaire à :
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)
Journal des modifications
| Version | Description |
|---|---|
| 5.2.0 |
msgs_in_queueAjouté. |
Autres extensions
Manuel de référence PHP cURL