Natknąłem się na to, próbując zrobić to samo. Pomyślałem, że dodam moje rozwiązanie, aby pomóc każdemu, kto ma ten sam problem w przyszłości. Po pierwsze, będę zakładać masz tablicę swojego curl teleskopowe jako takie:
$mh = curl_multi_init();
$requests = array();
foreach ($someArray as $identifier => $url) {
$requests[$identifier] = curl_init($url);
curl_setopt($requests[$identifier], CURLOPT_RETURNTRANSFER, true);
//any other options you need to set go here
curl_multi_add_handle($mh, $requests[$identifier]);
}
ja też zakładam, że prowadził wnioski:
do {
$status = curl_multi_exec($mh, $running);
} while ($status === CURLM_CALL_MULTI_PERFORM || $running);
Wreszcie docieramy do odpowiedzi na pytanie:
$returned = array();
foreach ($requests as $identifier => $request) {
$returned[$identifier] = curl_multi_getcontent($request);
curl_multi_remove_handle($mh, $request); //assuming we're being responsible about our resource management
curl_close($request); //being responsible again. THIS MUST GO AFTER curl_multi_getcontent();
}
$returned
zawiera teraz wszystkie Twoje dane.
To naprawdę nie pomaga w ogóle. – Rob