При проверке условия один из сайтов где подходит совпадение по строке распостроняет ответ 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);
?>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хочу генерировать на сайте несколько вариантов js (es5, es2015, es2016), и отдавать клиенту нужный файл с js, в зависимости от того, какой стандарт поддерживает...
Пытаюсь на сайт добавить "бесконечный скролинг": необходимо чтобы при прокрутке страницы вниз загружались новые статьи (Ajax)Всё настроил,...
работаю с API вконтактеСделал небольшой скрипт, где идет сравнение по Switch , сообщения пользователя, с моими данными, вот пример: