überprüfen ob file da oder nicht (aber auf fremdserver)

Hi Leute ich such eine Function die mir TRUE oder FALSE zurückgibt, ob sich ein File auf einem Fremdserver befindet oder nicht.

Ähnlich wie die hier:

PHP:
function onlinecheck($url)
	{
		$online = file("$url","r");			
		if ($online[0]) 
			{
			$temp = "<img src='on.png'>";
			} 
		else 
			{
			$temp = "<img src='off.png'>";
			}    		
		return ($temp);
	}
	
	onlinecheck("http://www.testurl.de/mypic.jpg");

aber irgendwie will die nicht mehr warum auch immer? habt ihr vieleicht eine besser oder elegante Lösung?

Grüße TaXc

bekomme immer ein Fehlermeldung:

Warning: file("http://www.testurl.de/mypic.jpg") - No such file or directory in /home/myserver.de/www/ocheck.php on line 4

----

hab es rausgefunden warum das nicht geht: "allow_url_fopen" ist auf OFF ... aber kann ich das nicht irgendwie umgehen?
 
schonmal mit fiel_exists versucht? weiß nich ob das mit fremden dateien geht...
 
ging alles leider nicht...da bei mir allow_url_fopen ... aus war, aber ich hab einen weg gefunden, diesen zu umgehen....den will ich euch nicht vor enthalten!!!!!


PHP:
function url_validate( $link ) {         
   $url_parts = @parse_url( $link ); 
   if ( empty( $url_parts["host"] ) ) return( false ); 
   if ( !empty( $url_parts["path"] ) ) { 
      $documentpath = $url_parts["path"]; 
  } else { 
      $documentpath = "/"; 
  } 
   if ( !empty( $url_parts["query"] ) )  { 
      $documentpath .= "?" . $url_parts["query"]; 
  } 
  $host = $url_parts["host"]; 
  $port = $url_parts["port"]; 
  // Now (HTTP-)GET $documentpath at $host"; 
  if (empty( $port ) ) $port = "80"; 
   
  $socket = @fsockopen( $host, $port, $errno, $errstr, 30 ); 
  if (!$socket) { 
      return(false); 
  } else { 
      fwrite ($socket, "HEAD ".$documentpath." HTTP/1.0\r\nHost: $host\r\n\r\n"); 
      $http_response = fgets( $socket, 22 ); 
        
      if ( ereg("200 OK", $http_response, $regs ) ) { 
           return(true); 
           fclose( $socket ); 
       } else { 
//                echo "HTTP-Response: $http_response<br>"; 
           return(false); 
       } 
   } 
}
 
Zurück
Oben