PHP

MULTIPLE ASYNC CURL IN PHP

(quick guide & example)

LIST OF SERVERS TO CALL $url = [   "http://siteA.com", "http://siteB.com" ];

INITILIZE & SETTINGS

01

CALLBACK FUNCTION - OUTPUT RESULTS function show ($res, $info) {   echo $res;   print_r($info); }

$mh = curl_multi_init();

MULTIPLE CURL INIT

02

foreach ($url as $u) {   $c = curl_init();   curl_setopt($c, CURLOPT_URL, $u);   curl_setopt($c,      CURLOPT_RETURNTRANSFER, 1);   curl_multi_add_handle($mh, $c); }

LOOP UNTIL ALL CURL DONE do {   $exe = curl_multi_exec($mh, $now);   if ($r = curl_multi_info_read($mh)) {     $info = curl_getinfo($r["handle"]);     show(curl_multi_getcontent       ($r["handle"]), $info);     curl_multi_remove_handle       ($mh, $r["handle"]);   }    usleep(1000); } while ($exe == CURLM_CALL_MULTI_PERFORM || $now);

CURL GET RESULTS

03

THE END curl_multi_close($mh);