Function.curl-multi-exec
Aus PHP-Wiki
Berufsunfähigkeitsversicherung Vergleichen Online und kfz-versicherung, Lebensversicherung . Definition DSL?
curl_multi_exec — Führt die Unter-Verbindungen des cURL-Handles aus
Inhaltsverzeichnis |
Beschreibung
int curl_multi_exec ( resource $mh , int &$still_running )
Verarbeitet alle Handles; diese Methode kann unabhängig davon aufgerufen
werden, ob eines der Handles Daten lesen oder schreiben muß.
Parameter-Liste
- mh
- Ein von curl_multi_init() zurückgegebenes cURL-Multihandle.
- still_running
- Eine Referenz auf ein Flag um festzustellen, ob auf einem oder mehreren Handles noch gearbeitet wird.
Rückgabewerte
Ein cURL-Code der in den cURL Vordefinierten Konstanten definiert ist.
Hinweis:
Es werden nur Fehler zurückgegeben, die den Handle-Stack betreffen. Auch wenn
CURLM_OK zurückgegeben wird können auf einzelnen Handles
Fehler aufgetreten sein.
Beispiele
Beispiel #1 curl_multi_exec() Besipiel
In diesem Beispiel werden zwei cURL-Handles erstellt, einem Mehrfach-Handle hinzugefügt und anschliessend parallel ausgeführt.
<?php // zwei cURL Resourcen erstellen $ch1 = curl_init(); $ch2 = curl_init(); // URL und weitere Optionen setzen 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); // Mehrfach-Handle erstellen $mh = curl_multi_init(); // die zuvor erstellten Handles hinzufügen curl_multi_add_handle($mh,$ch1); curl_multi_add_handle($mh,$ch2); $active = null; // Handles ausführen 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); } } //close the handles curl_multi_remove_handle($mh, $ch1); curl_multi_remove_handle($mh, $ch2); curl_multi_close($mh); ?>