【问题标题】:How to check Url Image is exist or not in php [duplicate]如何在php中检查Url Image是否存在[重复]
【发布时间】:2013-03-06 19:31:31
【问题描述】:

我正在解决从数据库中获取图像 URL 并在 php 中显示图像,如下所示

<?php    

$row['blog_url'] = "http://www.nasa.gov/images/content/711375main_grail20121205_4x3_946-710.jpg";

<img src="<?php echo $row['blog_url']; ?>"  height="200" width="200" alt="image"/>

?>

但如果图像没有从指定的 url 加载为 blog_url,我想显示 no_imgae.jpeg

如果有任何方法可以找出图像是否存在于 php 中

提前谢谢...

【问题讨论】:

    标签: php imageurl


    【解决方案1】:

    这个功能会解决你的问题:

    function checkRemoteFile($url)
    {
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$url);
        // don't download content
        curl_setopt($ch, CURLOPT_NOBODY, 1);
        curl_setopt($ch, CURLOPT_FAILONERROR, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        if(curl_exec($ch)!==FALSE)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
    

    只需在此function 中传递image url,如果图像存在,它将返回yes,否则false

    【讨论】:

      【解决方案2】:
      $file = "http://www.nasa.gov/images/content/711375main_grail20121205_4x3_946-710.jpg";
      $file_headers = @get_headers($file);
      if($file_headers[0] == 'HTTP/1.1 404 Not Found') {
          $exists = false;
      }
      else {
          $exists = true;
      }
      

      【讨论】:

      • 如果是HTTP/1.0 怎么办?有更好的方法来检查这一点。此外,这个 only 只查看 404。对于 OPs 案例,特别是 200 响应可能很重要。没有重定向,没有授权等。
      【解决方案3】:
      <?
      $img = $row['blog_url'];
      $headers = get_headers($img);
      if(substr($headers[0], 9, 3) == '200') {
      ?>
      <img src="<?php echo $img; ?>"/>
      <?
      } else {
      ?>
      <img src="noimage.jpg"/>
      <?
      }
      ?>
      

      【讨论】:

      • Array ([0] => HTTP/1.0 400 Bad Request [1] => 服务器:AkamaiGHost [2] => Mime-Version: 1.0 [3] => Content-Type: text/ html [4] => 内容长度:215 [5] => 过期:2013 年 3 月 18 日星期一 12:58:50 GMT [6] => 日期:2013 年 3 月 18 日星期一 12:58:50 GMT [7] => 连接:关闭)
      猜你喜欢
      • 2017-09-20
      • 2012-10-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-17
      • 2014-03-15
      • 1970-01-01
      相关资源
      最近更新 更多