At 03:04 PM 1/31/2002 +1300, Philip J. Newman wrote:
>Is there anyway using PHP to send a command to a server to get the get
>eather a 404 or 200 reply?
Here's a function I put together to do just that. It takes a full URL as
an argument and returns either boolean true, boolean false, or a string
error message. Since it might return a string error you need to check the
type returned when using it, such as:
<?
if($http_file_exists("http://someurl.tld/page.html") === true) {
//do stuff
}
?>
Note the three equals signs that checks for type as well as value.
Anyway, here is the function:
<?
function http_file_exists ($url) {
if (!preg_match("/^http:\/\/([^\/]+)\/.*$/i",$url,$matches)) {
return "Error - incorrect format";
} else {
$host = $matches[1];
$fp = fsockopen ($host, 80, $errno, $errstr, 30);
if (!$fp) return "Error - couldn't connect to host";
else {
fputs ($fp, "HEAD $url HTTP/1.0\r\n\r\n");
$response = fgets ($fp,128);
fclose ($fp);
return (eregi("^.+200 OK.+$",$response) ? true : false);
}
}
}
?>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]