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


Posted in PHP onNovember 12, 2013

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

//用法 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了。
PHP 相关文章推荐
搜索引擎技术核心揭密
Oct 09 PHP
来自phpguru得Php Cache类源码
Apr 15 PHP
php提示无法加载或mcrypt没有找到 PHP 扩展 mbstring解决办法
Mar 27 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 PHP
使用gd库实现php服务端图片裁剪和生成缩略图功能分享
Dec 25 PHP
分享下页面关键字抓取components.arrow.com站点代码
Jan 30 PHP
PHP函数eval()介绍和使用示例
Aug 20 PHP
深入浅出php socket编程
May 13 PHP
PHP获取用户客户端真实IP的解决方案
Oct 10 PHP
支付宝支付开发――当面付条码支付和扫码支付实例
Nov 04 PHP
php+ajax+json 详解及实例代码
Dec 12 PHP
Thinkphp5框架使用validate实现验证功能的方法
Aug 27 PHP
php过滤XSS攻击的函数
Nov 12 #PHP
php获取新浪微博数据API实例
Nov 12 #PHP
php生成N个不重复的随机数实例
Nov 12 #PHP
三种php连接access数据库方法
Nov 11 #PHP
PHP中ob_start函数的使用说明
Nov 11 #PHP
PHP开发工具ZendStudio下Xdebug工具使用说明详解
Nov 11 #PHP
PHP利用str_replace防注入的方法
Nov 10 #PHP
You might like
PHP中常见的缓存技术实例分析
2015/09/23 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
Laravel 5.4向IoC容器中添加自定义类的方法示例
2017/08/15 PHP
JScript内置对象Array中元素的删除方法
2007/03/08 Javascript
JavaScript Date对象使用总结
2009/05/14 Javascript
JSQL  一个 web DB 的封装
2010/05/05 Javascript
js中top、clientTop、scrollTop、offsetTop的区别 文字详细说明版
2011/01/08 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
JS获取当前网址、主机地址项目根路径
2013/11/19 Javascript
jquery mobile开发常见问题分析
2016/01/21 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
浅谈jQuery双事件多重加载的问题
2016/10/05 Javascript
Ionic+AngularJS实现登录和注册带验证功能
2017/02/09 Javascript
ionic+AngularJs实现获取验证码倒计时按钮
2017/04/22 Javascript
js调用设备摄像头的方法
2018/07/19 Javascript
简述vue路由打开一个新的窗口的方法
2018/11/29 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
2020/08/06 Javascript
Python使用pymysql小技巧
2017/06/04 Python
python with提前退出遇到的坑与解决方案
2018/01/05 Python
python爬虫获取淘宝天猫商品详细参数
2020/06/23 Python
详解Python 数据库的Connection、Cursor两大对象
2018/06/25 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
在python里从协程返回一个值的示例
2019/02/19 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
HEMA英国:荷兰原创设计
2018/08/28 全球购物
一份报关员的职业规划范文
2014/01/08 职场文书
毕业生求职自荐书范文
2014/03/27 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
依法行政工作汇报
2014/10/28 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
组织生活会发言材料
2014/12/15 职场文书
物业工程部岗位职责
2015/02/11 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
Python机器学习之逻辑回归
2021/05/11 Python