请问怎么判断给个网址是否能正常访问,现在是用file_get_contents时,如果网址不能访问,就会报错,导致整个页面不能运行。

解决方案 »

  1.   

    建议两步走
    1.检查网址是否合法,主要检查是否符合URI规范
    2.网址合法就难免要连接一次,检查页面是否存在
    参考 get_headers() 判断返回值 [0] => HTTP/1.1 200 ... 红色部分是否为200
      

  2.   

    可以try {

    } catch (Exception $e) {
    }
      

  3.   

    get header 判断状态码,<400即是正常访问。
      

  4.   

    $file = file_get_contents($url);
    var_dump($file);
      

  5.   

    在支持checkdnsrr的服务器上可以使用这个来先判断是否有解析,然后再通过curl的提取header。