Check if a URL exists/is online
Function to check if a URL is online/exists.
function is_valid_url($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'] : ''; if ($path == '') { $path = '/'; } $path .= (isset($url['query'])) ? "?$url[query]" : ''; if (isset($url['host']) AND $url['host'] != gethostbyname($url['host'])) { if (PHP_VERSION >= 5) { $headers = get_headers("$url[scheme]://$url[host]:$url[port]$path"); } else { $fp = fsockopen($url['host'], $url['port'], $errno, $errstr, 30); if (!$fp) { return false; } fputs($fp, "HEAD $path HTTP/1.1rnHost: $url[host]rnrn"); $headers = fread($fp, 4096); fclose($fp); } $headers = (is_array($headers)) ? implode("n", $headers) : $headers; return (bool)preg_match('#^HTTP/.*s+[(200|301|302)]+s#i', $headers); } return false;}
Example
if (is_valid_url('https://pario.no')){ do_something();}
Source: http://www.bytemycode.com