我需要确定是否退出了网址。我跑过这篇文章。
$file = 'http://godaddy';
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found')
{
$exists = false;
}
else
{
$exists = true;
}
并且实现了这个代码,当我作为忘记放入.com的用户进行测试时,它返回true。这是不正确的,因为如果你去How can I check if a URL exists via PHP?没有网站。
我尝试先验证$文件,但是
filter_var($url, FILTER_VALIDATE_URL);
将http://godaddy视为有效网址。
知道如何处理这种输入吗?
var_dump($file_headers)= array(8) {
[0]=> string(15) "HTTP/1.1 200 OK"
[1]=> string(13) "Server: nginx"
[2]=> string(35) "Date: Mon, 29 Jun 2015 14:23:07 GMT"
[3]=> string(23) "Content-Type: text/html"
[4]=> string(17) "Connection: close"
[5]=> string(21) "Vary: Accept-Encoding"
[6]=> string(38) "Expires: Mon, 29 Jun 2015 14:23:06 GMT"
[7]=> string(23) "Cache-Control: no-cache"
}
答案 0 :(得分:0)
尝试不使用@
字符。通过这种方式,您可以看到直接错误。我认为错误屏蔽不能正确读取get_header