• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

PHP获取文件大小的几种方法!

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
一、get_header($url,true):
$url = 'http://www.xxx.com/MoJing_win_x86_64_V5.125.zip';
$res = get_headers($url,true);   
  echo "<pre>";
  print_R($res);
  die; 
$filesize = round($res['Content-Length']/1024/1024,2);//四舍五入获取文件大小,单位M

 

image.png
二、curl:
$url = 'http://www.3d414.com/MoJing_win_x86_64_V5.125.zip';
echo getFileSize($url);die;//71741458
function getFileSize($url,$user='',$pw='')   
{    
    ob_start();    
    $ch = curl_init($url);    
    curl_setopt($ch, CURLOPT_HEADER, 1);    
    curl_setopt($ch, CURLOPT_NOBODY, 1);    
    if (!empty($user) && !empty($pw))   
    {   
        $headers = array('Authorization: Basic ' . base64_encode($user.':'.$pw));   
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);   
    }   
    $okay = curl_exec($ch);   
    curl_close($ch);    
    $head = ob_get_contents();    
    ob_end_clean();   
   
    //echo '<br>head-->'.$head.'<----end <br>';   
    
    $regex = '/Content-Length:\s([0-9].+?)\s/';   
    $count = preg_match($regex, $head, $matches);    
    $size = isset($matches[1])?$matches[1]:'unknown';    
    //$last=round($size/(1024*1024),3);    
    //return $last.' MB';    
    return $size;   
}  

 

三、fsockopen:
$url = 'http://www.xxx.com/MoJing_win_x86_64_V5.125.zip';
echo getFileSize($url);die;
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;   
            }   
            elseif(preg_match('/Content-Length:(.*)/si',$tmp,$arr))   
            {   
                return trim($arr[1]);   
            }   
        }   
        return null;   
    }   
    else   
    {   
        return null;   
    }   
}  

 

filesize(),只能获取本地文件大小,不能获取远程文件大小:
$url = './v3.rar';//  获取本地文件
$url ='http://www.xxx.cc/v3.rar';//获取远程文件  
echo filesize($url);

 

file_get_contents(),获取文件内容,strlen()获取内容大小:

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
phpMyAdmin setup.php脚本的任意PHP代码注入漏洞发布时间:2022-07-10
下一篇:
phplinux创建文件夹权限问题发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap