文档章节

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

ywppengpeng
 ywppengpeng
发布于 2016/11/22 10:54
字数 244
阅读 6
收藏 0
点赞 0
评论 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
博文 62
码字总数 31743
作品 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 ⋅ 0

在线编辑器 TQEditor 评测

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

litqqs ⋅ 2011/10/21 ⋅ 1

PHP生成验证码--Micoolcoder

多功能自定义PHP生成验证码 新增伪静态案例 支持自定义参数说明: 第一个参数 CS:简体中文 CT:繁体中文 E:大小英文 e:小写英文 D:数字 Ee:大小写英文 EeD:大小英文数字 ED:大写数字 eD:小写数...

Micool ⋅ 2012/07/13 ⋅ 0

在线编辑器 TQEditor

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

GIFCOOL ⋅ 2011/10/21 ⋅ 0

用Windows Live Writer在51CTO写博客

打开客户端:使用Windows Live Writer时会出现向导界面,快速引导我们配置博客空间,如图: 选择“其他日志服务” 设置博客帐户: 1、在您的日志网址中输入:您的博客地址/xmlrpc.php 2、输入...

技术小牛人 ⋅ 2017/11/14 ⋅ 0

分布式调用rmi

java的一个重要特征就是分布式计算. rmi就是一种非常简单的远程调用协议. 它比web service要简单很多. 但现在java的远程调用越来越趋向使用http, 例如httpclient + xml/json + servlet实现更...

xpbug ⋅ 2013/02/11 ⋅ 0

Cloud Setuper 三剑客出炉,任你选择

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

ding465398889 ⋅ 2014/11/25 ⋅ 2

图片自动缩放--autoCropImage

将图片自动缩放成指定大小,减少图片体积,从而加快下载速度,降低下载时间和成本。 使用说明 URI 模式 http://localhost/images/pic.jpg_50x100.jpg http://localhost/images/pic.jpg_50x10...

MingfunWong ⋅ 2014/02/27 ⋅ 0

HTML5 实现手机拍照上传

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

Reya滴水心 ⋅ 2016/06/24 ⋅ 22

PHP CodeBase: 通过新浪微博API获取数据

要获取新浪微博的数据,可以通过他们提供的API,地址:http://open.weibo.com/wiki/API文档V2。 获取数据的方法如下: 补充一下,jsondecode($data) 会输出一个对象,而jsondecode($data, t...

ywppengpeng ⋅ 2016/11/22 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

20.zip压缩 tar打包 打包并压缩

6月25日任务 6.5 zip压缩工具 6.6 tar打包 6.7 打包并压缩 6.5 zip压缩工具: zip支持压缩目录 zip压缩完之后原来的文件不删除 不同的文件内容其实压缩的效果不一样 文件内有很多重复的用xz压...

王鑫linux ⋅ 16分钟前 ⋅ 0

double类型数据保留四位小数的另一种思路

来源:透析公式处理,有时候数据有很长的小数位,有的时候由在四位以内,如果用一般的处理方法,那么不足四位的小树会补充0到第四位,这样子有点画蛇添足的感觉,不太好看。所以要根据小数的...

young_chen ⋅ 22分钟前 ⋅ 0

Python 优化 回溯下降算法

使用sympy构造表达式,实现回溯下降算法 画出函数图像,先使用暴力搜索,找到最小值约为2.5左右 然后选定初始点,开始进行回溯搜索,下降方向为负梯度方向 下降的误差与步数大致呈现下面的状...

阿豪boy ⋅ 27分钟前 ⋅ 0

Django配置163邮箱出现 authentication failed(535)错误解决方法

最近用Django写某网站,当配置163邮箱设置完成后,出现535错误即:smtplib.SMTPAuthenticationError: (535, b'Error: authentication failed') Django初始配置邮箱设置 EMAIL_HOST = "smtp.1...

陈墨轩_CJX ⋅ 28分钟前 ⋅ 0

用接口模拟可伸缩枚举(34)

1、枚举的可伸缩性最后证明都不是什么好点子 扩展类型的元素是基本类型实例,基本类型的实例却不是扩展类型的元素,很混乱 目前还没有很好的方法来枚举基本类型的所有元素,及其扩展 可伸缩性...

职业搬砖20年 ⋅ 32分钟前 ⋅ 0

Ubuntu18.04 IDEA快捷键无法使用

IDEA默认的回退到上一视图的快捷键是Ctrl + Alt + Left,在ubuntu中这个快捷键被占用了,在16.04中可以在界面中取消这个快捷键,但是18.04就看不到了,可以使用以下命令解决 gsettings set ...

Iceberg_XTY ⋅ 36分钟前 ⋅ 0

如何解决s权限位引发postfix及crontab异常

一、问题现象 业务反馈某台应用服务器,普通用户使用mutt程序发送邮件时,提示“postdrop warning: mail_queue_enter: create file maildrop/713410.6065: Permission denied”,而且普通用法...

问题终结者 ⋅ 48分钟前 ⋅ 0

Unable to load database on disk

由于磁盘空间满了以后,导致zookeeper异常退出,清理磁盘空间后,zk启动报错,信息如下: 2018-06-25 17:18:46,904 INFO org.apache.zookeeper.server.quorum.QuorumPeerConfig: Reading co...

刀锋 ⋅ 今天 ⋅ 0

css3 box-sizing:border-box 实现div一行多列

<!DOCTYPE html><html><head><style> div.container{ background:green; padding:10px 10px;}div.box{box-sizing:border-box;-moz-box-sizing:border-box; /* Fir......

qimh ⋅ 今天 ⋅ 0

Homebrew简介和基本使用

一、Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径...

说回答 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部