MySQL Помогите разобраться с Multi CURL

Bastard

Академик
Репутация
276 / 235
Собственно, имеем пару функций

PHP:
public function checkURL(){
    $query = "select id, http from channels where activate='1'";
  $result = mysql_query($query)  or die('dberror');
   
    while ($row = mysql_fetch_assoc($result)) {
    $visitid =  $row['id'];
    $visiturl =  $row['http'];
    $visitstatus = $this->visit($visiturl);
    if ($visitstatus == '0'){
    $upquery = "update channels set activate='0', featured='0' where id='".$visitid."'";
    $upresult = mysql_query($upquery);
    }
    }
    }

а так же
PHP:
public function visit($visiturl){
    $agent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL,$visiturl );
    curl_setopt($ch, CURLOPT_USERAGENT, $agent);
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch,CURLOPT_VERBOSE,false);
    curl_setopt($ch, CURLOPT_TIMEOUT, 5);
    $page=curl_exec($ch);
    $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);
    if($httpcode == 200 OR $httpcode == 302) {
    $visitstatus='1';
    } else {
     $visitstatus='0';
    }
    return $visitstatus;
    }

Т.е. проверяем ссылки из базы - если ссылка недоступна - ставим ей статус 0.

И все бы ничего, когда этих ссылок всего 50-60. А когда их 1000 - получаем жопу.

Собственно, как это все можно реализовать посредством multi curl?
 
Инфы по курлу полно ведь) мб попробуй что-то вроде этого
Так же убери с цикла запрос на обновление) можно ведь сделать одним запросом для всех нужных ID
Кстати не боишься получить бан от хоста на который будешь слать столько запросов?)
 
Кстати не боишься получить бан от хоста на который будешь слать столько запросов?)
Не боюсь. Хосты разные все время - это проверка по m3u файлу на существование потока.

Инфы по курлу полно ведь)

Полно. Но я не допру, как статус поменять. Т.е. выгрузить в массив только ссылки и прогнать их проверкой - это понятно. Непонятно, как изменить статус для данного URL

P.S> Ипать, йа дурень ))) Забыл про CURLOPT_NOBODY
 
Последнее редактирование:

Похожие темы

Сверху