In order to save me a lot of work, I looked for something like this and found it.
Unfortunately, this library can't get information from remote files.
This is actually the most important part.
I'm posting the below function to this form hoping that you would use it to extend the library to get information from remote files too.
function remote_file_exists ($url)
{
/*
Returning values:
TRUE = File Exists
1 = Invalid URL host
2 = Unable to connect to remote host
// example:
//$url = "http://www.google.it/intl/it_it/images/logo.gif";
$url = "http://motion4u.sytes.net/057movie04.rm";
if (remote_file_exists ($url))
{ print ($url . " file exists!"); }
else
{ print ($url . " file doesn't exist!"); }
*/
$head = "";
$url_p = parse_url ($url);
if (isset ($url_p["host"]))
{ $host = $url_p["host"]; }
else
{ return 1; }
if (isset ($url_p["path"]))
{ $path = $url_p["path"]; }
else
{ $path = ""; }
$fp = fsockopen ($host, 80, $errno, $errstr, 20);
if (!$fp)
{ return 2; }
else
{
$parse = parse_url($url);
$host = $parse['host'];
fputs($fp, "HEAD ".$url." HTTP/1.1\r\n");
fputs($fp, "HOST: ".$host."\r\n");
fputs($fp, "Connection: close\r\n\r\n");
$headers = "";
while (!feof ($fp))
{ $headers .= fgets ($fp, 128); }
}
fclose ($fp);
$arr_headers = explode("\n", $headers);
$return = false;
if (isset ($arr_headers[0]))
{ $return = strpos ($arr_headers[0], "404") === false; }
return $return;
}
Can't get remote files
-
- User
- Posts:23
- Joined:Mon Feb 13, 2006 5:47 am