php獲取遠(yuǎn)程文件大小及信息的函數(shù)(header頭信息獲取)
網(wǎng)頁(yè)設(shè)計(jì)愛(ài)好者.com開(kāi)發(fā)團(tuán)隊(duì)在做一個(gè)客戶(hù)系統(tǒng)時(shí),需要做遠(yuǎn)程下載的功能,并實(shí)時(shí)顯示進(jìn)度條效果。
所以,需要預(yù)先讀取遠(yuǎn)程文件的大小信息,然后做為實(shí)時(shí)下載進(jìn)度條的參數(shù)。
功能函數(shù)如下,調(diào)用很簡(jiǎn)單,getfilesize("http://www.html.org.cn/download/xml.rar") ,就可以獲取遠(yuǎn)程文件的大小了。
| 以下是引用片段: <?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.html.org.cn/download/xml.rar") ?> |
此函數(shù)獲取遠(yuǎn)程文件大小的效果非常好,無(wú)論遠(yuǎn)程文件體積有多大,獲取速度完全不受影響。
新聞熱點(diǎn)
疑難解答