php獲取遠程文件大小及信息的函數(header頭信息獲取)
阿里西西Alixixi.com開發團隊在做一個客戶系統時,需要做遠程下載的功能,并實時顯示進度條效果。
所以,需要預先讀取遠程文件的大小信息,然后做為實時下載進度條的參數。
功能函數如下,調用很簡單,getFileSize("http://www.alixixi.com/download/xml.rar") ,就可以獲取遠程文件的大小了。
以下是引用片段:
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");
http://www.gaodaima.com/48401.htmlphp獲取遠程文件大小及信息的函數(head_php
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.alixixi.com/download/xml.rar")
?>
此函數獲取遠程文件大小的效果非常好,無論遠程文件體積有多大,獲取速度完全不受影響。
歡迎大家閱讀《php獲取遠程文件大小及信息的函數(head_php》,跪求各位點評,若覺得好的話請收藏本文,by 搞代碼
微信 賞一包辣條吧~
支付寶 賞一聽可樂吧~