www.adminn.cn
站长正能量分享网!

php获取远程图片体积大小的实例

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

有时候,我们需要知道远程图片的体积大小,那么PHP如何可以做到呢?

直接看代码吧,很好明白的,代码如下:

  1. //用法 echo remote_filesize($url,$user='',$pw=''); 
  2. $url = "http://www.aa.com/librarys/images/random/rand_11.jpg";//这里要换成你的图片地址 
  3. echo remote_filesize($url,$user='',$pw=''); 
  4.  
  5. function remote_filesize($uri,$user='',$pw=''
  6. // start output buffering 
  7.     ob_start(); 
  8. // initialize curl with given uri 
  9.     $ch = curl_init($uri); // make sure we get the header 
  10.     curl_setopt($ch, CURLOPT_HEADER, 1); // make it a http HEAD request 
  11.     curl_setopt($ch, CURLOPT_NOBODY, 1); // if auth is needed, do it here 
  12.     if (!emptyempty($user) && !emptyempty($pw)) 
  13.     { 
  14.         $headers = array('Authorization: Basic ' . base64_encode($user.':'.$pw)); 
  15.         curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
  16.     } 
  17.     $okay = curl_exec($ch); 
  18.     curl_close($ch); // get the output buffer 
  19.     $head = ob_get_contents(); // clean the output buffer and return to previous // buffer settings 
  20.     ob_end_clean();  // gets you the numeric value from the Content-Length // field in the http header 
  21.     $regex = '/Content-Length:\s([0-9].+?)\s/'
  22.     $count = preg_match($regex$head$matches);  // if there was a Content-Length field, its value // will now be in $matches[1] 
  23.     if (isset($matches[1])) 
  24.     { 
  25.         $size = $matches[1]; 
  26.     }  //phpfensi.com 
  27.     else 
  28.     { 
  29.         $size = 'unknown'
  30.     } 
  31.     $last_mb = round($size/(1024*1024),3); 
  32.  $last_kb = round($size/1024,3); 
  33.     return $last_kb . 'KB / ' . $last_mb.' MB'

函数的思路是,先CURL获取图片到缓冲区,然后正则获取图片的Content-Length信息就OK了。

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《php获取远程图片体积大小的实例》
文章链接:https://www.adminn.cn/news/8183.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

2次开发,学习研究使用!扫码支付后联系QQ677123发货!

支付宝扫一扫打赏