获取图像文件大小的最佳方法

时间:2016-04-18 12:42:02

标签: php

我想在两种情况下开始讨论获取图像的文件大小。

如果我们有两种情况:

  1. www.example.com/test.jpg)
  2. 首先我们有直接链接到图像和第二个

    1. www.example.com/getImage?id=3
    2. 在两种情况下,我们都会得到相同的图像。

      什么是最好用的?

      我尝试使用这两种方法:         $ url =“www.example.com/test.jpg”;

          $ch = curl_init($url);
      
          curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
          curl_setopt($ch, CURLOPT_HEADER, TRUE);
          curl_setopt($ch, CURLOPT_NOBODY, TRUE);
      
          $data = curl_exec($ch);
          $size = curl_getinfo($ch, CURLINFO_CONTENT_LENGTH_DOWNLOAD);
      
          curl_close($ch);
          echo $size;
      

      和第二个更简单:

      $length = get_headers($url,true);
      print_r($length['Content-Length']);
      

      第一个与第二个相比有什么好处?

1 个答案:

答案 0 :(得分:0)

两者都是一样的。阅读http://php.net/manual/en/function.curl-getinfo.php

上的php手册

CURLINFO_CONTENT_LENGTH_DOWNLOAD - content-length of download, read from Content-Length: field

因此,基本上CURLINFO_CONTENT_LENGTH_DOWNLOADContent-Length标题本身获取数据。但是,第二种方法未处理异常并且可以为您提供未定义的索引,并且必须处理它,因为某些服务器不在标题中提供Content-Length。