Cet article explique la définition et les exemples d'utilisation de la fonction PHP curl_multi_exec. La signification de la fonction curl_multi_exec est de exécuter la sous-connexion du handle cURL actuel. Examinons en détail sa description et ses exemples d'utilisation.
description de la fonction curl_multi_exec
int curl_multi_exec ( ressource $mh , int &$still_running )
Traitez chaque handle de la pile. Cette méthode peut être appelée si le handle doit lire ou écrire des données.
Paramètres de la fonction curl_multi_exec
mh
Les multiples poignées cURL renvoyées par curl_multi_init().
still_running
Une référence à un indicateur utilisé pour déterminer si l'opération est toujours en cours d'exécution.
La fonction curl_multi_exec renvoie une valeur
Un code cURL défini dans les constantes prédéfinies cURL.
Remarque : Cette fonction renvoie uniquement les erreurs liées à l'ensemble de la pile de lots. Des problèmes peuvent encore survenir avec les transferts individuels même lorsque CURLM_OK est renvoyé.
Exemple de fonction curl_multi_exec
Cet exemple créera 2 handles cURL, les ajoutera à un gestionnaire de lots et les exécutera en parallèle.
<?php // 创建一对cURL资源 $ch1 = curl_init(); $ch2 = curl_init(); // 设置URL和相应的选项 curl_setopt($ch1, CURLOPT_URL, "http://lxr.php.net/"); curl_setopt($ch1, CURLOPT_HEADER, 0); curl_setopt($ch2, CURLOPT_URL, "http://www.php.net/"); curl_setopt($ch2, CURLOPT_HEADER, 0); // 创建批处理cURL句柄 $mh = curl_multi_init(); // 增加2个句柄 curl_multi_add_handle($mh,$ch1); curl_multi_add_handle($mh,$ch2); $active = null; // 执行批处理句柄 do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); while ($active && $mrc == CURLM_OK) { if (curl_multi_select($mh) != -1) { do { $mrc = curl_multi_exec($mh, $active); } while ($mrc == CURLM_CALL_MULTI_PERFORM); } } // 关闭全部句柄 curl_multi_remove_handle($mh, $ch1); curl_multi_remove_handle($mh, $ch2); curl_multi_close($mh); ?>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!