При проверке условия один из сайтов где подходит совпадение по строке распостроняет ответ echo не корректно отрабатывает . приписывает ответ на последующие урлы. Как исправить помогите
<?php
$urls = array(
'http://*.236/start/start.htm',
'http://*.245/start/start.htm', //ВОТ Здесь есть 'PtrVal[1] совпадение1
'http://*.193/start/start.htm', // а при работе цикла 193 тоже идёт
//ответ, хотя это не так!
);
$mh = curl_multi_init();
foreach ($urls as $i => $url) {
$conn[$i]=curl_init($url);
curl_setopt($conn[$i],CURLOPT_RETURNTRANSFER,1); //ничего в браузер не давать
curl_setopt($conn[$i],CURLOPT_CONNECTTIMEOUT,10); //таймаут соединения
curl_multi_add_handle ($mh,$conn[$i]);
}
do {
curl_multi_exec($mh,$active);
} while ($active); //Пока все соединения не отработают
for ($i=0; $i<count($urls); $i++) { //разбор полетов
$res[$i]=curl_multi_getcontent($conn[$i]); //ответ сервера в переменную
curl_multi_remove_handle($mh, $conn[$i]);
curl_close($conn[$i]);
$res1=implode(",", $res);
$main_str = htmlentities($res1);
if (strpos($main_str,'PtrVal[1] = "1"')!== false) {
echo '<pre>Совпадение';
}
}
curl_multi_close($mh);
?>
Так у Вас в коде implode собирает массив ответов в строку, включая Ваши старые ответы. Обратитесь к текущему ответу, а не ко всем уже записанным.
<?php
$urls = array(
'http://*.236/start/start.htm',
'http://*.245/start/start.htm',
'http://*.193/start/start.htm'
);
$mh = curl_multi_init();
foreach ($urls as $key => $url) {
$ch[$key] = curl_init($url);
curl_setopt($conn[$key], CURLOPT_RETURNTRANSFER, 1);
curl_setopt($conn[$key], CURLOPT_CONNECTTIMEOUT, 10);
curl_multi_add_handle($mh, $conn[$key]);
}
do {
curl_multi_exec($mh, $running);
curl_multi_select($mh);
} while ($running > 0);
foreach (array_keys($ch) as $key) {
$res[$key] = curl_multi_getcontent($ch[$key]);
curl_multi_remove_handle($mh, $ch[$key]);
if (strpos(htmlentities($res[$key]), 'PtrVal[1] = "1"') !== false) {
echo '<pre>Совпадение';
}
}
curl_multi_close($mh);
?>
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости