php获取远程文件大小及信息的函数(header头信息获取)
阿里西西开发团队在做一个客户系统时,需要做远程下载的功能,并实时显示进度条效果。
所以,需要预先读取远程文件的大小信息,然后做为实时下载进度条的参数。
功能函数如下,调用很简单,getFileSize("/download/xml.rar") ,就可以获取远程文件的大小了。
以下是引用片段:
functiongetFileSize($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");
/48401.htmlphp获取远程文件大小及信息的函数(head_php
fputs($fp,"Host:$url[host]/r/n/r/n");
while(!feof($fp)){
$tmp=fgets($fp);
if(trim($tmp)==’’){
break;
}elseif(preg_match(’/Content-Length:(.*)/si’,$tmp,$arr)){
returntrim($arr[1]);
}
}
returnnull;
}else{
returnnull;
}
}
echogetFileSize("/download/xml.rar")
?>
此函数获取远程文件大小的效果非常好,无论远程文件体积有多大,获取速度完全不受影响。
欢迎大家阅读《php获取远程文件大小及信息的函数(head_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码
微信 赏一包辣条吧~
支付宝 赏一听可乐吧~