폴더 용량 체크

by 조쉬 posted Jan 12, 2023
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

// 폴더 전체용량 
 
function dirsize($dir
){ 
       static 
$size$cnt
; 
       
$fp opendir($dir
); 
       while(
false !== ($entry readdir($fp
))){ 
             if((
$entry != ".") && ($entry != ".."
)){ 
                  if(
is_dir($dir.'/'.$entry
)){ 
                       
clearstatcache
(); 
                       
dirsize($dir.'/'.$entry
); 
                  } else if(
is_file($dir.'/'.$entry
)){ 
                       
$size += filesize($dir.'/'.$entry
); 
                       
clearstatcache
(); 
                       
$cnt
++; 
                  } 
             } 
       } 
      
closedir($fp
); 

      
$stat 
= array( 
                
'size' => $size
, 
                
'cnt' => 
$cnt 
      
); 
      return 
$stat
; 
 } 
// end func 

 
function attach($size
) { 
      if(
$size 1024
){ 
            return 
number_format($size*1.024).'b'
; 
      } else if((
$size 1024) && ($size 1024000
)){ 
            return 
number_format($size*0.001024).'Kb'
; 
      } else if(
$size 1024000
){ 
            return 
number_format($size*0.000001024,2).'Mb'
; 
      } 
      return 
0
; 
 } 

 
// 사용법: $arr = dirsize(폴더 경로); 
 // $arr['cnt'] <- 총 파일 수, $arr['size'] <- 총 용량 수 
 
$stat dirsize('./includes'
); 

 echo 
"총 파일수: ".$stat['cnt']." 총 파일 용량: ".attach($stat['size'
]);