文档章节

PHP CodeBase: 获取远程图片的体积大小

ywppengpeng
 ywppengpeng
发布于 2016/11/22 10:54
字数 244
阅读 6
收藏 0

有时候,我们需要知道远程图片的体积大小,那么PHP如何可以做到呢?这里介绍一个函数,先来看看演示:

//用法 echo remote_filesize($url,$user='',$pw='');
$url = "http://img1.gtimg.com/sports/pics/hv1/182/50/2158/140336882.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';
}

程序运行结果:

© 著作权归作者所有

共有 人打赏支持
ywppengpeng
粉丝 5
博文 63
码字总数 32377
作品 0
西安
程序员
thirft with php(一)

About thrift ----The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build service......

o0无忧亦无怖
2016/03/17
29
0
Cloud Setuper 三剑客出炉,任你选择

CloudSetuper 是一款windows上的安装包制作工具,类似 NSIS or Inno Setup. 利用它你的安装包程序将拥有更小的体积,更漂亮界面,更高的自定义。 更小的体积:安装包程序体积=7z程序包的大小 ...

ding465398889
2014/11/25
2.7K
2
HTML5 实现手机拍照上传

背景:移动端H5项目,需要实现调用手机拍照,并将图片压缩上传功能。 页面样式: 上传图片有原生的方法<input type="file" accept="image/*">,如果只想要拍照上传,不希望用户选择图片上传,...

Reya滴水心
2016/06/24
14.6K
22
在线编辑器 TQEditor 评测

TQEditor是国内第一个兼容IE9的在线编辑器, 也是一个功能体积比最优的的在线编辑器。笔者此前曾使用多款类似的在线编辑器,如:KindEditor CKEditor,相比这两款编辑器,虽然TQEditor的名气没...

litqqs
2011/10/21
1K
1
性能优化(6)-减小APK体积

主目录见:Android高级进阶知识(这是总目录索引) [译]Reduce APK Size  个人感觉这篇文章写得还是比较全的,所以这里就来翻译一下这篇文章,希望大家看了能有所收获。这篇是谷歌自己的文章...

ZJ_Rocky
2017/11/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

kubeadm部署kubernetes集群

一、环境要求 这里使用RHEL7.5 master、etcd:192.168.10.101,主机名:master node1:192.168.10.103,主机名:node1 node2:192.168.10.104,主机名:node2 所有机子能基于主机名通信,编辑...

人在艹木中
40分钟前
2
0
Shell特殊符号总结以及cut,sort,wc,uniq,tee,tr,split命令

特殊符号总结一 * 任意个任意字符 ? 任意一个字符 # 注释字符 \ 脱义字符 | 管道符 # #号后的备注被忽略[root@centos01 ~]# ls a.txt # 备注 a.txt[root@centos01 ~]# a=1[root@centos01...

野雪球
今天
2
0
OSChina 周二乱弹 —— 程序员圣衣

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @达尔文:分享Skeeter Davis的单曲《The End of the World》 《The End of the World》- Skeeter Davis 手机党少年们想听歌,请使劲儿戳(这里...

小小编辑
今天
14
0
[ python import module ] 导入模块

import moudle_name ----> import module_name.py ---> import module_name.py文件路径 -----> sys.path (这里进行查找文件) # from app.web import Personimport app.web.Person as Pe......

_______-
昨天
5
0
Redis性能问题排查解决手册

一、性能相关的数据指标 通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。 nfo命令输出的数据可...

IT--小哥
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部