디렉토리 용량 체크 (윈도우 리눅스 공용)

<?php

function Yget_dir_size($dir, $debug=false){

if (!is_dir($dir)) return false;

if (!preg_match("`/$`", $dir)) $dir .= '/';

$get_size = 0;

$d = dir($dir);
while (false !== ($entry = $d->read())) {

if (substr($entry, 0, 1) == '.') continue;

if (is_file($dir . $entry)) {

$get_size += filesize($dir . $entry);
if ($debug == true) echo $dir . $entry . ' ' . filesize($dir . $entry) . "<br>\n";
}
else if (is_dir($dir . $entry)){

$get_size += Yget_dir_size($dir . $entry, $debug);
}
else{

continue;
}
}
$d->close();

return $get_size;
}


$dir = '용량체크하고픈 디렉토리경로(상대경로 or 절대경로)';
echo Yget_dir_size($dir, true);//개별파일출력을 원할 경우
echo Yget_dir_size($dir);//개별파일출력을 원하지 않을경우

?><div class='small'>[이 게시물은 관리자님에 의해 2011-10-31 17:12:10 PHP & HTML에서 이동 됨]</div>
|

댓글 6개

몇가지 첨언을 하자면
Yget_dir_size 이함수는 재귀호출 함수입니다.
해당디렉토리에 다른 디렉토리를 발견하면 자기 자신을 다시 호출합니다.

이함수는 해당 디렉토리를 웹서버가 읽을 수 있을 경우에만 제대로 작동합니다.
감사합니다.

윈도우 서버에서 체크 할 수 있어 너무 좋습니다.

합산 총량을 MB 단위로 병기해서 보여줄수 있다면 더욱 좋겠습니다. ^^;
네 그부분은 바로 밑에 가을님을것을 사용하면 됩니다.
바이트 환산하는 부분만요
제가 바이트 환산하는 부분도 올릴려고 하다가
가을님게 있어서 올리지 않은 것이거든요
고맙습니다. ^^;
지나가다가 슬쩍...

function get_dirsizea($file_dir) {
$size = 0;
$d = dir($file_dir);
while ($entry = $d->read()) {
if ($entry != "." && $entry != "..") $size += filesize("$file_dir/$entry");
}
$d->close();
return $size;
}
용량단위를 MB로 출력하고 싶으면 아래 소스를 사용하시면 됩니다 ^^
<?=number_format( Yget_dir_size($dir)/1024/1024, 2)?>
댓글을 작성하시려면 로그인이 필요합니다. 로그인

프로그램

+
제목 글쓴이 날짜 조회
19년 전 조회 5,367
19년 전 조회 2,424
19년 전 조회 3,427
19년 전 조회 2,851
19년 전 조회 1,758
19년 전 조회 3,876
19년 전 조회 2,413
19년 전 조회 2,294
19년 전 조회 3,016
19년 전 조회 3,291
19년 전 조회 2,492
19년 전 조회 2,257
19년 전 조회 2,324
19년 전 조회 1,993
19년 전 조회 3,085
19년 전 조회 2,010
19년 전 조회 2,043
19년 전 조회 1,697
19년 전 조회 2,206
19년 전 조회 2,183
19년 전 조회 2,477
19년 전 조회 2,872
19년 전 조회 2,382
19년 전 조회 2,449
19년 전 조회 3,500
19년 전 조회 3,211
19년 전 조회 3,203
19년 전 조회 3,009
19년 전 조회 2,026
19년 전 조회 2,337
19년 전 조회 2,227
19년 전 조회 2,056
19년 전 조회 2,495
19년 전 조회 2,411
19년 전 조회 2,795
19년 전 조회 2,170
19년 전 조회 3,498
19년 전 조회 1,965
19년 전 조회 2,573
19년 전 조회 1,592
19년 전 조회 2,822
19년 전 조회 3,062
19년 전 조회 2,146
19년 전 조회 1,984
19년 전 조회 2,460
19년 전 조회 2,374
19년 전 조회 3,067
19년 전 조회 6,747
19년 전 조회 2,702
19년 전 조회 3,172
19년 전 조회 3,074
19년 전 조회 1,908
19년 전 조회 3,347
19년 전 조회 2,176
19년 전 조회 2,687
19년 전 조회 2,337
19년 전 조회 4,350
19년 전 조회 2,466
19년 전 조회 2,734
19년 전 조회 3,498
19년 전 조회 3,702
19년 전 조회 3,225
19년 전 조회 2,463
19년 전 조회 3,034
19년 전 조회 3,885
19년 전 조회 3,769
19년 전 조회 1,695
19년 전 조회 2,189
19년 전 조회 5,391
19년 전 조회 6,687
19년 전 조회 2,537
19년 전 조회 2,097
19년 전 조회 2,589
19년 전 조회 3,247
19년 전 조회 3,483
19년 전 조회 2,964
19년 전 조회 2,582
19년 전 조회 4,692
19년 전 조회 6,695
19년 전 조회 4,966
19년 전 조회 5,930
19년 전 조회 2,657
19년 전 조회 2,479
19년 전 조회 2,186
19년 전 조회 2,279
19년 전 조회 4,576
19년 전 조회 4,633
19년 전 조회 2,485
19년 전 조회 2,157
19년 전 조회 2,488
19년 전 조회 3,116
19년 전 조회 2,911
19년 전 조회 1,877
19년 전 조회 1,935
19년 전 조회 3,130
19년 전 조회 2,346
19년 전 조회 3,604
19년 전 조회 2,534
19년 전 조회 1,837
19년 전 조회 2,445
🐛 버그신고