源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2022-01-26 09:42 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:php获取远程图片体积大小的实例
直接看代码吧,很好明白的
[u]复制代码[/u] 代码如下:
//用法 echo remote_filesize($url,$user='',$pw=''); $url = "http://www.aa.com/librarys/images/random/rand_11.jpg";//这里要换成你的图片地址 echo remote_filesize($url,$user='',$pw=''); function remote_filesize($uri,$user='',$pw='') { // start output buffering     ob_start(); // initialize curl with given uri     $ch = curl_init($uri); // make sure we get the header     curl_setopt($ch, CURLOPT_HEADER, 1); // make it a http HEAD request     curl_setopt($ch, CURLOPT_NOBODY, 1); // if auth is needed, do it here     if (!empty($user) && !empty($pw))     {         $headers = array('Authorization: Basic ' . base64_encode($user.':'.$pw));         curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);     }     $okay = curl_exec($ch);     curl_close($ch); // get the output buffer     $head = ob_get_contents(); // clean the output buffer and return to previous // buffer settings     ob_end_clean();  // gets you the numeric value from the Content-Length // field in the http header     $regex = '/Content-Length:\s([0-9].+?)\s/';     $count = preg_match($regex, $head, $matches);  // if there was a Content-Length field, its value // will now be in $matches[1]     if (isset($matches[1]))     {         $size = $matches[1];     }     else     {         $size = 'unknown';     }     $last_mb = round($size/(1024*1024),3);  $last_kb = round($size/1024,3);     return $last_kb . 'KB / ' . $last_mb.' MB'; }
函数的思路是,先CURL获取图片到缓冲区,然后正则获取图片的Content-Length信息就OK了。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部