php获取远程文件大小及信息的函数
添加时间:2014-12-18 2:35:16
添加:
思海网络
php获取远程文件大小及信息的函数(header头信息获取)
当要做一个客户系统时,需要做远程下载的功能,并实时显示进度条效果。
所以,需要预先读取远程文件的大小信息,然后做为实时下载进度条的参数。
功能函数如下,调用很简单,如:getFileSize("http://www.00001.cn/download/xml.rar") ,就可以获取远程文件的大小了。
以下是引用片段: <?php function getFileSize($url){ $url = parse_url($url); if($fp = @fsockopen($url[’host’],empty($url[’port’])?80:$url[’port’],$error)){ fputs($fp,"GET ".(empty($url[’path’])?’/’:$url[’path’])." HTTP/1.1\r\n"); fputs($fp,"Host:$url[host]\r\n\r\n"); while(!feof($fp)){ $tmp = fgets($fp); if(trim($tmp) == ’’){ break; }else if(preg_match(’/Content-Length:(.*)/si’,$tmp,$arr)){ return trim($arr[1]); } } return null; }else{ return null; } } echo getFileSize("http://www.00001.cn/download/xml.rar") ?> |
此函数获取远程文件大小的效果非常好,无论远程文件体积有多大,获取速度完全不受影响。
关键字:php、远程、客户系统
新文章:
- CentOS7下图形配置网络的方法
- CentOS 7如何添加删除用户
- 如何解决centos7双系统后丢失windows启动项
- CentOS单网卡如何批量添加不同IP段
- CentOS下iconv命令的介绍
- Centos7 SSH密钥登陆及密码密钥双重验证详解
- CentOS 7.1添加删除用户的方法
- CentOS查找/扫描局域网打印机IP讲解
- CentOS7使用hostapd实现无AP模式的详解
- su命令不能切换root的解决方法
- 解决VMware下CentOS7网络重启出错
- 解决Centos7双系统后丢失windows启动项
- CentOS下如何避免文件覆盖
- CentOS7和CentOS6系统有什么不同呢
- Centos 6.6默认iptable规则详解