(PHP 5)
curl_multi_info_read — Lit les informations sur les transferts actuels
$mh
[, int &$msgs_in_queue
= NULL
] )Appel le gestionnaire multiple s'il y a des messages ou des informations issus des transferts individuels. Les messages peuvent inclure des informations comme un code erreur du transfert, ou juste le fait que le transfert est terminé.
Les appels répétés à cette fonction retournera un nouveau résultat à chaque fois,
tant que FALSE
n'est pas retourné, indiquant qu'il n'y a plus rien à récupérer
pour le moment. L'entier présent dans le paramètre msgs_in_queue
représente le nombre de messages restant une fois cette fonction appelée.
Les données pointées par la ressource retournée, ne survivront pas à l'appel de la fonction curl_multi_remove_handle().
mh
Un gestionnaire cURL multiple retourné par la fonction curl_multi_init().
msgs_in_queue
Nombre de messages encore présents dans la file d'attente
Retourne un tableau associatif contenant le message en cas de succès,
FALSE
si une erreur survient.
Key: | Value: |
---|---|
msg | La constante CURLMSG_DONE . Les autres valeurs retournées
sont actuellement non disponibles. |
result | Une des constantes CURLE_* . Si tout s'est bien déroulé,
la constante CURLE_OK sera retournée. |
handle | Ressource de type curl indiquant le gestionnaire concerné. |
Exemple #1 Exemple avec 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));
?>
L'exemple ci-dessus va afficher quelque chose de 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)
Version | Description |
---|---|
5.2.0 |
Le paramètre msgs_in_queue a été ajouté.
|