检查网站是否存在

时间:2012-07-17 19:08:20

标签: php curl

  

可能重复:
  How can one check to see if a remote file exists using PHP?

我想以编程方式检查网站是否有效。我知道我可以通过使用“cURL”或“fopen”打开网址来完成此操作,但这需要花费很多时间,因为它需要获取整页。

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

还有其他方法吗?

4 个答案:

答案 0 :(得分:3)

您只需使用HEAD请求即可获取页面的标题而不是整页。尽管如此,该网站仍将生成整页,但至少你不会下载所有内容。

要实现这一点,您可以使用许多方法,只需检查如何更改请求的标题,而不是执行GET,您可以执行HEAD。

答案 1 :(得分:1)

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

答案 2 :(得分:0)

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

答案 3 :(得分: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;
}