获取文件夹大小(PHP函数)

<? php

    
//  获取文件夹大小
     function  getDirSize( $dir )
    { 
        
$handle   =   opendir ( $dir );
        
while  ( false !== ( $FolderOrFile   =   readdir ( $handle )))
        { 
            
if ( $FolderOrFile   !=   " . "   &&   $FolderOrFile   !=   " .. "
            { 
                
if ( is_dir ( " $dir/$FolderOrFile " ))
                { 
                    
$sizeResult   +=  getDirSize( " $dir/$FolderOrFile " ); 
                }
                
else
                { 
                    
$sizeResult   +=   filesize ( " $dir/$FolderOrFile " ); 
                }
            }    
        }
        
closedir ( $handle );
        
return   $sizeResult ;
    }

    
//  单位自动转换函数
     function  getRealSize( $size )
    { 
        
$kb   =   1024 ;          //  Kilobyte
         $mb   =   1024   *   $kb ;    //  Megabyte
         $gb   =   1024   *   $mb ;    //  Gigabyte
         $tb   =   1024   *   $gb ;    //  Terabyte
        
        
if ( $size   <   $kb )
        { 
            
return   $size . "  B " ;
        }
        
else   if ( $size   <   $mb )
        { 
            
return   round ( $size / $kb , 2 ) . "  KB " ;
        }
        
else   if ( $size   <   $gb )
        { 
            
return   round ( $size / $mb , 2 ) . "  MB " ;
        }
        
else   if ( $size   <   $tb )
        { 
            
return   round ( $size / $gb , 2 ) . "  GB " ;
        }
        
else
        { 
            
return   round ( $size / $tb , 2 ) . "  TB " ;
        }
    }

    
echo   getRealSize(getDirSize( ' 需要获取大小的目录 ' ));

?>
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值