PHP 获取远程文件大小的3种解决方法


Posted in PHP onJuly 11, 2013

1、使用file_get_contents()

<?php
$file = file_get_contents($url);
echo strlen($file);
?>

2. 使用get_headers()
<?php
$header_array = get_headers($url, true);
$size = $header_array['Content-Length'];
echo $size;
?>

PS:
需要打开allow_url_fopen!
如未打开会显示
Warning: get_headers() [function.get-headers]: URL file-access is disabled in the server configuration
3.使用fsockopen()
<?php
 function get_file_size($url) {
     $url = parse_url($url);     if (empty($url['host'])) {
         return false;
     }
     $url['port'] = empty($url['post']) ? 80 : $url['post'];
     $url['path'] = empty($url['path']) ? '/' : $url['path'];
     $fp = fsockopen($url['host'], $url['port'], $error);
     if($fp) {
         fputs($fp, "GET " . $url['path'] . " HTTP/1.1\r\n");
         fputs($fp, "Host:" . $url['host']. "\r\n\r\n");
         while (!feof($fp)) {
             $str = fgets($fp);
             if (trim($str) == '') {
                 break;
             }elseif(preg_match('/Content-Length:(.*)/si', $str, $arr)) {
                 return trim($arr[1]);
             }
         }
         fclose ( $fp);
         return false;
     }else {
         return false;
     }
 }
 ?>
PHP 相关文章推荐
PHP Header用于页面跳转要注意的几个问题总结
Oct 03 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
Oct 06 PHP
PHP中使用TCPDF生成PDF文档实例
Jul 01 PHP
ThinkPHP中的常用查询语言汇总
Aug 22 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
两种php给图片加水印的实现代码
Apr 18 PHP
smarty中常用方法实例总结
Aug 07 PHP
PHP面向对象详解(三)
Dec 07 PHP
PHP实现发送邮件的方法(基于简单邮件发送类)
Dec 17 PHP
PHP设计模式之原型模式定义与用法详解
Apr 03 PHP
Laravel框架创建路由的方法详解
Sep 04 PHP
深入Nginx + PHP 缓存详解
Jul 11 #PHP
基于PHP中的常用函数回顾
Jul 11 #PHP
PHP 获取文件权限函数介绍
Jul 11 #PHP
浅析php学习的路线图
Jul 10 #PHP
php对图像的各种处理函数代码小结
Jul 08 #PHP
php/js获取客户端mac地址的实现代码
Jul 08 #PHP
关于PHP语言构造器介绍
Jul 08 #PHP
You might like
音乐朗读剧《MARS RED》2021年TV动画化决定!
2020/03/06 日漫
PHP完整的日历类(CLASS)
2006/11/27 PHP
php递归json类实例
2014/12/02 PHP
jquery 子窗口操作父窗口的代码
2009/09/21 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
JS生成某个范围的随机数【四种情况详解】
2016/04/20 Javascript
js检查是否关闭浏览器的方法
2016/08/02 Javascript
vue router demo详解
2017/10/13 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
vue路由传参页面刷新参数丢失问题解决方案
2019/10/08 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
2020/10/09 Javascript
python thread 并发且顺序运行示例
2009/04/09 Python
Python使用BeautifulSoup库解析HTML基本使用教程
2016/03/31 Python
python画柱状图--不同颜色并显示数值的方法
2018/12/13 Python
python通过paramiko复制远程文件及文件目录到本地
2019/04/30 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
使用遗传算法求二元函数的最小值
2020/02/11 Python
Python连接SQLite数据库并进行增册改查操作方法详解
2020/02/18 Python
Python调用飞书发送消息的示例
2020/11/10 Python
关于Python 解决Python3.9 pandas.read_excel(‘xxx.xlsx‘)报错的问题
2020/11/28 Python
收藏!10个免费高清视频素材网站!【设计、视频剪辑必备】
2021/03/18 杂记
美国当红的名品折扣网:Gilt Groupe
2016/08/15 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
美国购买体育赛事门票网站:TicketCity
2019/03/06 全球购物
Yahoo的PHP面试题
2014/05/26 面试题
六年级数学教学反思
2014/02/03 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
园艺师求职信
2014/04/27 职场文书
党的群众路线教育实践活动个人对照检查材料(校长)
2014/11/05 职场文书
2014年高校辅导员工作总结
2014/12/09 职场文书
教你用python控制安卓手机
2021/05/13 Python
MySQL的索引你了解吗
2022/03/13 MySQL