我想在两种情况下开始讨论获取图像的文件大小。
如果我们有两种情况:
首先我们有直接链接到图像和第二个
在两种情况下,我们都会得到相同的图像。
什么是最好用的?
我尝试使用这两种方法: $ 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']);
第一个与第二个相比有什么好处?
答案 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_DOWNLOAD
从Content-Length
标题本身获取数据。但是,第二种方法未处理异常并且可以为您提供未定义的索引,并且必须处理它,因为某些服务器不在标题中提供Content-Length。