Check if URL exist

This function checks if a given URL is valid by using fsockopen.

<?php
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.1\r\nHost: $url[host]\r\n\r\n");
               
$headers = fread ( $fp, 128 );
               
fclose ( $fp );
           }
          
$headers = ( is_array ( $headers ) ) ? implode ( "\n", $headers ) : $headers;
           return ( bool )
preg_match ( '#^HTTP/.*\s+[(200|301|302)]+\s#i', $headers );
         }
  return
false;

}
?>

Source: http://www.roscripts.com/snippets/show/156