Извините, если это очень простые вопросы. Я использую multi curl для обработки массива различных URL-адресов. Кажется, что он работает нормально, однако результаты группируются в один массив. Я хотел бы вставить результаты обратно в мою базу данных, поэтому я думаю, что мне нужно обрабатывать результаты по каждому URL-адресу по отдельности. Мой код выглядит так:curl multi request split result array
$nodes = array($url1, $url2, $url3);
$node_count = count($nodes);
$curl_arr = array();
$master = curl_multi_init();
for($i = 0; $i < $node_count; $i++)
{
$url =$nodes[$i];
$curl_arr[$i] = curl_init($url);
curl_setopt($curl_arr[$i], CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl_arr[$i], CURLOPT_FOLLOWLOCATION, true);
curl_multi_add_handle($master, $curl_arr[$i]);
}
do {
curl_multi_exec($master,$running);
} while($running > 0);
for($i = 0; $i < $node_count; $i++)
{
$results[] = curl_getinfo($curl_arr[$i], CURLINFO_EFFECTIVE_URL);
$results[] = curl_getinfo($curl_arr[$i], CURLINFO_HTTP_CODE);
$results[] = curl_getinfo($curl_arr[$i], CURLINFO_CONTENT_TYPE);
}
print_r($results);
Я считаю это правильным или нет, если да, то как я могу разделить результаты?
Спасибо за вашу помощь
Спасибо за вашу помощь. Работает очень хорошо. Я не думаю, что вы можете помочь с моей последней проблемой. Я пытаюсь добавить функцию, чтобы проверить, присутствует ли строка в результате каждого запроса URL-адреса. Я работаю без использования curl multi, но не могу заставить его работать с multi. Эта функция выполняет простую проверку '$ text = curl_exec ($ ch); $ test = strpos ($ text, $ string); ' – user1098178