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