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数据库(6)
Oct 09 PHP
利用discuz自带通行证整合dedecms的方法以及文件下载
Mar 06 PHP
基于PHP的cURL快速入门教程 (小偷采集程序)
Jun 02 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
Jun 12 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
Oct 26 PHP
php连接odbc数据源并保存与查询数据的方法
Dec 24 PHP
PHP数组操作――获取数组最后一个值的方法
Apr 14 PHP
微信小程序 消息推送php服务器验证实例详解
Mar 30 PHP
php实现数组中出现次数超过一半的数字的统计方法
Oct 14 PHP
PHP crc32()函数讲解
Feb 14 PHP
Yii框架数据库查询、增加、删除操作示例
Oct 14 PHP
php中yii框架实例用法
Dec 22 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使用get_headers函数判断远程文件是否存在的方法
2014/11/28 PHP
smarty模板引擎中自定义函数的方法
2015/01/22 PHP
thinkPHP多语言切换设置方法详解
2016/11/11 PHP
Thinkphp实现站点静态化的方法详解
2017/03/21 PHP
php 中的closure用法详解
2017/06/12 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
Linux下源码包安装Swoole及基本使用操作图文详解
2019/04/02 PHP
YII框架实现自定义第三方扩展操作示例
2019/04/26 PHP
tp5.1 框架查询表达式用法详解
2020/05/25 PHP
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
javaScript中的this示例学习详解及工作原理
2014/01/13 Javascript
实现音乐播放器的代码(html5+css3+jquery)
2015/08/04 Javascript
jquery获取复选框的值的简单实例
2016/05/26 Javascript
详解JS对象封装的常用方式
2016/12/30 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
详解Vue文档中几个易忽视部分的剖析
2018/03/24 Javascript
用WebStorm进行Angularjs 2开发(环境篇:Windows 10,Angular-cli方式)
2018/12/05 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
详解vue引入子组件方法
2019/02/12 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
Python算法应用实战之队列详解
2017/02/04 Python
Python排序算法实例代码
2017/08/10 Python
Python3.4编程实现简单抓取爬虫功能示例
2017/09/14 Python
基于python 处理中文路径的终极解决方法
2018/04/12 Python
python两个_多个字典合并相加的实例代码
2019/12/26 Python
python爬虫容易学吗
2020/06/02 Python
Python实现区域填充的示例代码
2021/02/03 Python
英国街头品牌:Bee Inspired Clothing
2018/02/12 全球购物
怎样比较两个类型为String的字符串
2016/08/17 面试题
工程班组长岗位职责
2013/12/30 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
大学生党员批评与自我批评
2014/09/28 职场文书
2015年元旦联欢晚会活动总结
2014/11/28 职场文书
生产设备维护保养制度
2015/08/06 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
用Java实现简单计算器功能
2021/07/21 Java/Android