(PHP 5, PHP 7)
curl_multi_init — Retourne un nouveau cURL multiple
Autorise l'exécution de multiples gestionnaires cURL de façon asynchrone.
Cette fonction ne contient aucun paramètre.
Retourne un gestionnaire cURL multiple en cas de succès,
FALSE
si une erreur survient.
Exemple #1 Exemple avec curl_multi_init()
Cet exemple crée deux gestionnaires cURL, les ajoute à un gestionnaire multiple, et les exécute de façon asynchrone.
<?php
// Création des ressources cURL
$ch1 = curl_init();
$ch2 = curl_init();
// Définit l'URL ainsi que d'autres options
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);
// Création du gestionnaire multiple cURL
$mh = curl_multi_init();
// Ajoute les deux gestionnaires
curl_multi_add_handle($mh,$ch1);
curl_multi_add_handle($mh,$ch2);
$active = null;
// Exécute le gestionnaire
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);
}
}
// Ferme les gestionnaires
curl_multi_remove_handle($mh, $ch1);
curl_multi_remove_handle($mh, $ch2);
curl_multi_close($mh);
?>