可能重复:
如何使用 PHP 检查远程文件是否存在?
我想以编程方式检查网站是否存在。我知道我可以通过使用“cURL”或“fopen”打开 url 来做到这一点,但这需要很多时间,因为它需要获取整个页面。
此外,此方法不可靠,因为可能存在其他原因,例如不支持的协议能够打开网站。
有没有别的办法??
可能重复:
如何使用 PHP 检查远程文件是否存在?
我想以编程方式检查网站是否存在。我知道我可以通过使用“cURL”或“fopen”打开 url 来做到这一点,但这需要很多时间,因为它需要获取整个页面。
此外,此方法不可靠,因为可能存在其他原因,例如不支持的协议能够打开网站。
有没有别的办法??
您可以简单地使用 HEAD 请求来仅获取页面的标题而不是整个页面。尽管如此,该网站仍会生成完整页面,但至少您不会下载所有内容。
为此,您可以使用许多方法,只需检查如何更改请求的标头,而不是执行 GET,您可以执行 HEAD。
fopen()
并且fread()
不要阅读整个网页(不一定)。您可以使用它并仅读取几个字节来确定网站是否存在(200 OK)。
您可以只发送一个标头请求并检查 http 响应代码吗?
$file = 'http://www.test.com/idontexist.jpg';
$file_headers = @get_headers($file);
if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
$exists = false;
}
else {
$exists = true;
}