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 相关文章推荐
递归列出所有文件和目录
Oct 09 PHP
php框架Phpbean说明
Jan 10 PHP
php MYSQL 数据备份类
Jun 19 PHP
PHP 翻页 实例代码
Aug 07 PHP
使用php实现快钱支付功能(涉及到接口)
Jul 01 PHP
codeigniter框架The URI you submitted has disallowed characters错误解决方法
May 06 PHP
ThinkPHP 3.2 版本升级了哪些内容
Mar 05 PHP
Thinkphp实现短信验证注册功能
Oct 18 PHP
php常用正则函数实例小结
Dec 29 PHP
php数组和链表的区别总结
Sep 20 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 PHP
PHP如何解决微信文章图片防盗链
Dec 09 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
网络资源
2006/10/09 PHP
php 动态多文件上传
2009/01/18 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
PHP实现的简单缓存类
2015/07/29 PHP
php获取本机真实IP地址实例代码
2016/03/31 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
javascript学习网址备忘
2007/05/29 Javascript
js 如何实现对数据库的增删改查
2012/11/23 Javascript
调试代码导致IE出错的避免方法
2014/04/04 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
2016/08/25 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
canvas知识总结
2017/01/25 Javascript
微信小程序loading组件显示载入动画用法示例【附源码下载】
2017/12/09 Javascript
JavaScript实现微信号随机切换代码
2018/03/09 Javascript
[00:32]2018DOTA2亚洲邀请赛Secret出场
2018/04/03 DOTA
Python实例之wxpython中Frame使用方法
2014/06/09 Python
Python生成随机密码的方法
2017/06/16 Python
Python编程之微信推送模板消息功能示例
2017/08/21 Python
python re模块findall()函数实例解析
2018/01/19 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
使用Python实现从各个子文件夹中复制指定文件的方法
2018/10/25 Python
使用Python制作表情包实现换脸功能
2019/07/19 Python
Python tkinter和exe打包的方法
2020/02/05 Python
python 匿名函数与三元运算学习笔记
2020/10/23 Python
基于Python实现天天酷跑功能
2021/01/06 Python
园林设计师自荐信
2013/11/18 职场文书
金融专业大学生自我评价
2014/01/09 职场文书
售前工程师职业生涯规划
2014/03/02 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
公司禁烟通知
2015/04/23 职场文书
用Python将库打包发布到pypi
2021/04/13 Python
使用这 6个Vue加载动画库来减少我们网站的跳出率
2021/05/18 Vue.js
Django数据库(SQlite)基本入门使用教程
2022/07/07 Python