IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    【译】使用PHP检查URL是否存在

    dwqs发表于 2015-04-28 04:37:46
    love 0

    在这篇文章中,我们将看到如何使用PHP检查URL的存在,其存在的含义是我们向服务器请求的内容是否可用。

    PHP中提供了两种方式来检查URL的存在,一种是get_headers()函数,一种是cURL

    检查URL的HTTP头是基础,它决定了我们请求的URL的是否存在,200代表存在,404则代表不存在。

    get_headers()


    使用get_headers()函数,我们可以得到URL的HTTP头部信息

    $url = "http://www.domain.com/demo.jpg"; 
    $headers = @get_headers($url); 
    if(strpos($headers[0],'404') === false) {  
          echo "URL Exists"; 
     } else {  
          echo "URL Not Exists"; 
    }

    Note:如果get_headers()函数的第二个参数设置成true,将以关联数组的形式返回结果

    cURL

    $url = "http://www.domain.com/demo.jpg"; 
    $curl = curl_init($url); 
    curl_setopt($curl, CURLOPT_NOBODY, true); 
    $result = curl_exec($curl); 
    if ($result !== false)  {  
          $statusCode = curl_getinfo($curl, CURLINFO_HTTP_CODE);   
          if ($statusCode == 404)   {  
                echo "URL Not Exists"  
          }  else  {  
                 echo "URL Exists";  
           }  
    } else {  
            echo "URL not Exists"; 
      }

    Note:我们使用了CURLOPT_NOBODY选项,仅仅只是为了检查连接状态,而不是去抓取整个Body

    英文原文:Check URL Existence with PHP

    淡忘~浅思猜你喜欢

    【译】8个很有用的PHP安全函数,你知道几个?

    PHP中的替代语法

    10个必须收藏的PHP代码样例

    PHP基本语法的小结

    php数组使用小结
    无觅

    转载请注明:淡忘~浅思 » 【译】使用PHP检查URL是否存在



沪ICP备19023445号-2号
友情链接