[man]file_exists[/man]
Refer to Appendix L for a listing of which wrappers support stat() family of functionality.
That could be your problem. If you want the page, just try requesting it. The HTTP wrapper is smart enough to know what failures look like.
$filename = "http://www.whoistheidiotwhoregisteredinvalid.com/";
//$filename = "http://www.yahoo.com/";
$alternate = "http://www.access-programmers.co.uk";
if($page = @file_get_contents($filename))
echo "$filename exists: ",substr($page,0,500);
else
$page = @file_get_contents($alternate);
echo "Using $alternate instead: ",substr($page,0,500);
If you just want to see if it's there, fopen it instead. If you want to get fancy, use fsockopen() and write a HEAD request and parse the first line of the response. Of course, this assumes you have enough of a grip on The HTTP Protocol to know which responses indicate the the file (and host!) exist or not.