php获取远程文件大小

网络整理 - 08-11
本函数通过header头信息获取远程文件大小,代码如下:

<?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;
 }
}
?>



  调用方法很简单,代码如下:

<?php
echo getFileSize("")
?>



  此函数获取远程文件大小的效果非常好,无论远程文件体积有多大,获取速度完全不受影响。