디렉토리별 용량체크
페이지 정보
작성자 JMStudy 작성일06-04-24 12:20 조회8,964회 댓글0건본문
<?
function size($size) {
$unit = Array(" Byte"," KB"," MB"," GB");
if(!$size)
return "0".$unit[0];
if($size < 1024) // 바이트
return $size.$unit[0];
if($size > 1024 && $size < 1024*1024) // 킬로바이트
return sprintf("%0.1f ".$unit[1], $size / 1024);
if($size > 1024*1024 && $size < 1024*1024*1024) // 메가바이트
return sprintf("%0.1f ".$unit[2], $size / (1024*1024));
if($size > 1024*1024*1000 && $size < 1024*1024*1024*1024) // 기가바이트
return sprintf("%0.1f ".$unit[3], $size / (1024*1024*1000));
}
$total = 0;
function du_dir($path="./") {
global $total;
$path = opendir($path);
while($list = readdir($path)) {
if($list != "." && $list != "..") {
if(is_dir($list)) {
$select_dir = @chdir($list);
$du = `du -sb`;
$du = str_replace(".","", $du);
$du = trim($du);
$total += $du;
$du = size($du);
echo $list;
echo " -> ";
echo $du;
echo "
";
@chdir("../");
}
}
}
closedir($path);
}
du_dir();
echo size($total);
?>
function size($size) {
$unit = Array(" Byte"," KB"," MB"," GB");
if(!$size)
return "0".$unit[0];
if($size < 1024) // 바이트
return $size.$unit[0];
if($size > 1024 && $size < 1024*1024) // 킬로바이트
return sprintf("%0.1f ".$unit[1], $size / 1024);
if($size > 1024*1024 && $size < 1024*1024*1024) // 메가바이트
return sprintf("%0.1f ".$unit[2], $size / (1024*1024));
if($size > 1024*1024*1000 && $size < 1024*1024*1024*1024) // 기가바이트
return sprintf("%0.1f ".$unit[3], $size / (1024*1024*1000));
}
$total = 0;
function du_dir($path="./") {
global $total;
$path = opendir($path);
while($list = readdir($path)) {
if($list != "." && $list != "..") {
if(is_dir($list)) {
$select_dir = @chdir($list);
$du = `du -sb`;
$du = str_replace(".","", $du);
$du = trim($du);
$total += $du;
$du = size($du);
echo $list;
echo " -> ";
echo $du;
echo "
";
@chdir("../");
}
}
}
closedir($path);
}
du_dir();
echo size($total);
?>
댓글목록
등록된 댓글이 없습니다.