您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
三六零分类信息网 > 塔城分类信息网,免费分类信息发布

php获取文件大小的4种方法

2025/6/17 18:46:34发布7次查看
在网上找了4种获取文件大小的方法 记录起来。。。。
方法一:header http/1.1 200 ok   
    [date] => sat, 29 may 2004 12:28:14 gmt   
    [server] => apache/1.3.27 (unix)  (red-hat/linux)   
    [last-modified] => wed, 08 jan 2003 23:11:55 gmt   
    [etag] => 3f80f-1b6-3e1cb03b   
    [accept-ranges] => bytes   
    [content-length] => 438   
    [connection] => close   
    [content-type] => text/html   
)   
?>
方法二function getfilesize($url)   
{   
    $url = parse_url($url);   
    if($fp = @fsockopen($url['host'],emptyempty($url['port'])?80:$url['port'],$error))   
    {   
        fputs($fp,get .(emptyempty($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;   
    }   
}  方法三:function remote_filesize($uri,$user='',$pw='')   
{   
    // start output buffering    
    ob_start();   
    // initialize curl with given uri    
    $ch = curl_init($uri);   
    // make sure we get the header    
    curl_setopt($ch, curlopt_header, 1);   
    // make it a http head request    
    curl_setopt($ch, curlopt_nobody, 1);   
    // if auth is needed, do it here    
    if (!emptyempty($user) && !emptyempty($pw))   
    {   
        $headers = array('authorization: basic ' . base64_encode($user.':'.$pw));   
        curl_setopt($ch, curlopt_httpheader, $headers);   
    }   
    $okay = curl_exec($ch);   
    curl_close($ch);   
    // get the output buffer    
    $head = ob_get_contents();   
    // clean the output buffer and return to previous    
    // buffer settings    
    ob_end_clean();
echo '
head-->'.$head.'';
// gets you the numeric value from the content-length    
    // field in the http header    
    $regex = '/content-length:\s([0-9].+?)\s/';   
    $count = preg_match($regex, $head, $matches);
// if there was a content-length field, its value    
    // will now be in $matches[1]    
    if (isset($matches[1]))   
    {   
        $size = $matches[1];   
    }   
    else   
    {   
        $size = 'unknown';   
    }   
    //$last=round($size/(1024*1024),3);    
    //return $last.' mb';    
    return $size;   
}   方法四:$fcont = file_get_contents(http://www.weiyeying.cn/);   
echo strlen($fcont)/1024;  
ad:真正免费,域名+虚机+企业邮箱=0元
塔城分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product