/*
**功能:获取远程文件的大小,返回值的单位陆棚是:字圆配节
*/
function
get_fileSize($url){
if(!isset($url)||trim($url)==''){
return
''
}
ob_start()
$ch=curl_init($url)
curl_setopt($ch,CURLOPT_HEADER,1)
curl_setopt($ch,CURLOPT_NOBODY,1)
$okay=curl_exec($ch)
curl_close($ch)
$head=ob_get_contents()
ob_end_clean()
$regex='/Content-Length:\s([0-9].+?)\s/'
$count=preg_match($regex,$head,$matches)
return
isset($matches[1])&&is_numeric($matches[1])?$matches[1]:''
}
希望本文所述对大家的php程序设计有所帮助,大家能够喜欢小便的文章,大家共同进步。
本函数通过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("/Article/UploadFiles/201001/20100104122349734.gif")
此函数获取远程文拿灶槐件大小的效果非常好,无论远程文件体积有多大,获取速度完全不受影响。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)