什么是检查网站/ URL是否存在的最快和最准确的方法..卷曲还是PHP?

时间:2012-03-08 15:28:24

标签: php curl

检查网址是否存在的最准确,最快捷的方法是什么?示例:Google.com。我一直在读我可以使用curl或者我可以使用php file_exists()来定位索引文件。我用过这个卷曲功能......

function url_exists($url) {
    $ch = @curl_init($url);
    @curl_setopt($ch, CURLOPT_HEADER, TRUE);
    @curl_setopt($ch, CURLOPT_NOBODY, TRUE);
    @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE);
    @curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    $status = array();
    preg_match('/HTTP\/.* ([0-9]+) .*/', @curl_exec($ch) , $status);
    return ($status[1] == 200);
}

例如google.com但是对于谷歌而言它返回false,对于其他网站则返回true。我想我正在寻找这个问题的最佳解决方案。

1 个答案:

答案 0 :(得分:0)

如果您只是寻找连接而不是状态代码,则可以使用fopen ...

if (!fopen($url, "r")) {
 // cannot connect
}

如果要检查HTTP代码,那么curl可能是最好的方式。