I will present three relatively simple solutions, it is up to everyone to choose the solution they like best.
1’st php function using fopen (the simplest way):
function test_url($url) { $res = (($ftest = @fopen($url, 'r')) === false) ? false : @fclose($ftest); return ($res == TRUE); }
2’nd php function, using fsockopen (not so simple) !
function test_url_2($url) { $addr=parse_url($url); $host=$addr['host']; $path = $addr['path']; $headtxt = "; if($sock=fsockopen($host,80, $errno, $errstr, 3)) { fputs($sock, "HEAD $path HTTP/1.0\r\nHost: $host\r\n\r\n"); while(!feof($sock)){ $headtxt .= fgets($sock); } } $pos1 = stripos($headtxt, "200 OK"); return ($pos1 === false) ; }
and 3’rd solutin using php CURL functions:
function test_url_3($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_NOBODY, true); curl_exec($ch); $response_code = (int)curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return ($response_code == 200); }
All function return TRUE if URL exists and FALSE if not !
Be First to Comment