Собственно, имеем пару функций
а так же
Т.е. проверяем ссылки из базы - если ссылка недоступна - ставим ей статус 0.
И все бы ничего, когда этих ссылок всего 50-60. А когда их 1000 - получаем жопу.
Собственно, как это все можно реализовать посредством multi curl?
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?