0

可能重复:
如何使用 PHP 检查远程文件是否存在?

我想以编程方式检查网站是否存在。我知道我可以通过使用“cURL”或“fopen”打开 url 来做到这一点,但这需要很多时间,因为它需要获取整个页面。

此外,此方法不可靠,因为可能存在其他原因,例如不支持的协议能够打开网站。

有没有别的办法??

4

4 回答 4

3

您可以简单地使用 HEAD 请求来仅获取页面的标题而不是整个页面。尽管如此,该网站仍会生成完整页面,但至少您不会下载所有内容。

为此,您可以使用许多方法,只需检查如何更改请求的标头,而不是执行 GET,您可以执行 HEAD。

于 2012-07-17T19:12:22.547 回答
1

fopen()并且fread()不要阅读整个网页(不一定)。您可以使用它并仅读取几个字节来确定网站是否存在(200 OK)。

于 2012-07-17T19:12:03.037 回答
0

您可以只发送一个标头请求并检查 http 响应代码吗?

于 2012-07-17T19:11:26.447 回答
0
$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;
}
于 2012-07-17T19:12:28.980 回答