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中使用Oracle数据库(3)
Oct 09 PHP
php面向对象全攻略 (十) final static const关键字的使用
Sep 30 PHP
php获取根域名方法汇总
Oct 28 PHP
php格式化金额函数分享
Feb 02 PHP
php获取发送给用户的header信息的方法
Mar 16 PHP
php上传文件并存储到mysql数据库的方法
Mar 16 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
Oct 22 PHP
Zend Framework实现留言本分页功能(附demo源码下载)
Mar 22 PHP
PHP中获取文件创建日期、修改日期、访问时间的方法
Nov 05 PHP
php 基础函数
Feb 10 PHP
Redis在Laravel项目中的应用实例详解
Aug 11 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 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下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
2010/12/29 PHP
php获得url参数中具有&的值的方法
2014/03/05 PHP
PHP获取中英混合字符串长度的方法
2014/06/07 PHP
PHP连接access数据库
2015/03/27 PHP
php实现从上传文件创建缩略图的方法
2015/04/02 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
关于php中的json_encode()和json_decode()函数的一些说明
2016/11/20 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
jQuery中append、insertBefore、after与insertAfter的简单用法与注意事项
2020/04/04 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
jQuery动态背景图片效果实现方法
2015/07/03 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
javascript判断回文数详解及实现代码
2017/02/03 Javascript
Vue 创建组件的两种方法小结(必看)
2018/02/23 Javascript
vue中keep-alive的用法及问题描述
2018/05/15 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
vue-router结合vuex实现用户权限控制功能
2019/11/14 Javascript
JavaScript闭包原理与用法学习笔记
2020/05/29 Javascript
[34:27]DOTA2上海特级锦标赛B组败者赛 VG VS Spirit第一局
2016/02/26 DOTA
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
spyder 在控制台(console)执行python文件,debug python程序方式
2020/04/20 Python
西班牙香水和化妆品连锁店:Druni
2019/05/05 全球购物
简单介绍Object类的功能、常用方法
2013/10/02 面试题
经典c++面试题四
2015/05/14 面试题
职称自我鉴定
2013/10/15 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
大学生就业策划书范文
2014/04/04 职场文书
大学新学期计划书
2014/04/28 职场文书
干部考核评语
2014/04/29 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
会计个人实习计划书
2014/08/15 职场文书
创建绿色社区汇报材料
2014/08/22 职场文书
2015廉洁自律个人总结
2015/02/14 职场文书
寒假安全保证书
2015/02/28 职场文书
2019最新版火锅店的创业计划书 !
2019/07/12 职场文书
Github 使用python对copilot做些简单使用测试
2022/04/14 Python