2012-03-08 69 views
-2

什么是最准确和最快速的方式来检查URL是否存在?例如:Google.com。我一直在阅读,我可以使用curl,或者我可以使用php file_exists()来查找索引文件。我用这个卷曲功能...什么是最快和最准确的方式来检查网站/ URL是否存在..卷曲或PHP?

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为谷歌和真正的其他网站。我想我正在寻找这个问题的最佳解决方案。

回答

0

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

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

如果要检查HTTP代码,然后curl可能是最好的办法。

+0

返回结果不会变慢吗? – Joe 2012-03-08 15:33:16

+2

@Joe如果你真的关心速度,自己测试它 – Gordon 2012-03-08 15:35:09

+0

@戈登我没有意识到我可以做到这一点。谢谢 – Joe 2012-03-08 15:40:43

相关问题