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 相关文章推荐
PHP操作MongoDB时的整数问题及对策说明
May 02 PHP
PHP关联数组的10个操作技巧
Jan 21 PHP
PHP 输出URL的快捷方式示例代码
Sep 22 PHP
PHP 正则表达式小结
Feb 12 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
PHP中Closure类的使用方法及详解
Oct 09 PHP
PHP中文竖排转换实现方法
Oct 23 PHP
Json_encode防止汉字转义成unicode的方法
Feb 25 PHP
Symfony2学习笔记之控制器用法详解
Mar 17 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
Laravel核心解读之异常处理的实践过程
Feb 24 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 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字符串截取问题
2006/11/28 PHP
PHP实现AES256加密算法实例
2014/09/22 PHP
YII CLinkPager分页类扩展增加显示共多少页
2016/01/29 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
php利用ZipArchive类操作文件的实例
2020/01/21 PHP
javaScript 判断字符串是否为数字的简单方法
2009/07/25 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
2014/05/29 Javascript
jquery控制select的text/value值为选中状态
2014/06/03 Javascript
Nodejs sublime text 3安装与配置
2014/06/19 NodeJs
JavaScript事件委托用法分析
2015/01/24 Javascript
js制作带有遮罩弹出层实现登录注册表单特效代码分享
2015/09/05 Javascript
Javascript的表单与验证-非空验证
2016/03/18 Javascript
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
Javascript的this详解
2019/03/23 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
node.js如何操作MySQL数据库
2020/10/29 Javascript
在Python中使用异步Socket编程性能测试
2014/06/25 Python
使用Python对SQLite数据库操作
2017/04/06 Python
python实现rsa加密实例详解
2017/07/19 Python
对pandas的层次索引与取值的新方法详解
2018/11/06 Python
python生成九宫格图片
2018/11/19 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
美国钻石商店:Zales
2016/11/20 全球购物
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
盛大二次面试题
2016/11/18 面试题
摄影实习自我鉴定
2013/09/20 职场文书
医院门卫岗位职责
2013/12/30 职场文书
医学生个人求职信范文
2014/02/07 职场文书
股份合作协议书
2014/09/10 职场文书
工作作风懒散检讨书
2014/10/29 职场文书
退伍军人感言
2015/08/01 职场文书