(PHP5)
curl_multi_info_read — Obtenez des informations de transfert pertinentes pour le cURL actuellement analysé
tableau curl_multi_info_read ( ressource $mh [, int &$msgs_in_queue = NULL ] )
Interrogez le handle du lot pour voir si des messages ou des informations sont renvoyés dans le thread de transmission séparé. Les messages peuvent contenir des rapports tels que des codes d'erreur renvoyés par des threads de transfert individuels ou simplement indiquer si le thread de transfert est terminé.
Cette fonction est appelée à plusieurs reprises et renvoie un nouveau résultat à chaque fois, jusqu'à ce qu'aucune information ne soit renvoyée et que FALSE soit renvoyé sous forme de signal. L'entier renvoyé par msgs_in_queue indique qu'il contiendra le nombre de messages restants après l'appel de cette fonction.
Remarque : les données pointées par la ressource renvoyée n'existeront pas après l'appel de curl_multi_remove_handle().
mh
cURL plusieurs handles renvoyés par curl_multi_init().
msgs_in_queue
Le nombre de messages toujours dans la file d'attente.
Renvoie un tableau d'informations pertinentes sur le succès et renvoie FALSE en cas d'échec.
Contenu de la valeur de retour (renvoie le contenu du tableau) :
clé | valeur |
---|---|
message | Constante CURLMSG_DONE . Les autres valeurs de retour ne sont actuellement pas disponibles. |
résultat | Une des constantes CURLE_* . S'il n'y a aucun problème avec toutes les opérations, la constante CURLE_OK sera renvoyée. |
poignée | Le type de ressource cURL indique le handle auquel il se rapporte. |
<?php$urls = array( "http://www.baidu.com/", "http://www.google.com.hk/", "http://www.w3cschool.cc/"); $mh = curl_multi_init();foreach ($urls comme $i => $url) { $conn[$i] = curl_init($url); CURLOPT_RETURNTRANSFER, 1); curl_multi_add_handle($mh, $conn[$i]);}do { $status = curl_multi_exec($mh, $active); $info = curl_multi_info_read($mh); ) { var_dump($info); }} tandis que ($status === CURLM_CALL_MULTI_PERFORM || $active);foreach ($urls as $i => $url) { $res[$i] = curl_multi_getcontent($conn[$i]); curl_multi_info_read($mh));?>
Le résultat de la routine ci-dessus est similaire à :
array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> ressource(5) de type (curl)}array(3) { [ "msg"]=> int(1) ["result"]=> int(0) ["handle"]=> ressource(7) de type (curl)}array(3) { ["msg"]=> int(1) ["result"]=> int(0) ["handle"]=> ressource(6) de type (curl)}bool(false)
Version | illustrer |
---|---|
5.2.0 | msgs_in_queue est ajouté. |