php获取远程文件的大小

php获取远程文件的大小,第1张

本文实例讲述了php获取远程文件大小的方法,分享给大家供大家参橘悉指考。具体实现方法如下:

/*

**功能:获取远程文件的大小,返回值的单位陆棚是:字圆配节

*/

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")

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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12287837.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存