Revision: 61688
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 5, 2013 22:36 by goo
Initial Code
function is_online( $url ){
$url = @parse_url($url);
if (!$url) return false;
$url = array_map('trim', $url);
$url['port'] = (!isset($url['port'])) ? 80 : (int)$url['port'];
$path = (isset($url['path'])) ? $url['path'] : '/';
$path .= (isset($url['query'])) ? "?$url[query]" : '';
if (isset($url['host']) && $url['host'] != gethostbyname($url['host'])) {
$fp = fsockopen($url['host'], $url['port'], $errno, $errstr, 30);
if (!$fp) return false; //socket not opened
fputs($fp, "HEAD $path HTTP/1.1
Host: $url[host]
"); //socket opened
$headers = fread($fp, 4096);
fclose($fp);
if(preg_match('#^HTTP/.*\s+[(200|301|302)]+\s#i', $headers)){
//matching header
return true;
}
else return false;
} // if parse url
else return false;
}
Initial URL
Initial Description
Return true if URL is online.
Initial Title
[PHP] Is URL online?
Initial Tags
Online
Initial Language
PHP