RadarURL
Skip to content
조회 수 3720 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

<?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);//개별파일출력을 원하지 않을경우

?>



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

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


--------------------------------------------------------------------------------------------------

지나가다가 슬쩍...

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;
}

 

출처 : http://www.welog.net/gbbs/bbs/board.php?bo_table=php&wr_id=18

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
18 hdmi 1.4 <-> dvi dual link 케이블 지원 해상도 1 JAESOO 2017.09.21 285
17 내장 및 외장 그래픽 카드 비교 (Desktop GPU Performance Hierarchy Table) JAESOO 2017.09.21 188
16 지포스/라데온 그래픽카드 성능 순위 (17년 05월) JAESOO 2017.09.21 185
15 AMD 라데온 R9/ R7 200 시리즈 네이밍 어떻게 바뀌었나? JAESOO 2017.09.21 190
14 용량 산정 (동시 접속자 계산) JAESOO 2016.05.04 4292
13 SVN의 cleanup 에러시 해결방법 JAESOO 2016.05.04 589
12 [오류해결] svn cleanup failed-previous operation has not finished; run cleanup if it was interrupted JAESOO 2016.05.04 377
11 TortoiseSVN 계정변경 JAESOO 2016.05.04 336
10 SVN passwd 설정 : 계정 (users/passwd) JAESOO 2016.05.04 309
9 [SVN] Subversion 명령들 JAESOO 2016.02.05 315
8 성능 엔지니어링 대한 접근 방법 (Performance tuning) JAESOO 2015.08.24 771
7 시스템 용량산정 도구 (x86 서버외 용량산정) JAESOO 2015.08.24 943
6 throttle-me를 이용한 계정 트래픽 나타내기 JaeSoo 2013.04.12 3590
5 윈도우 디스크 용량 확인 2 JaeSoo 2013.04.12 5033
» PHP 디렉토리 용량 체크 (윈도우 리눅스 공용) JaeSoo 2013.04.12 3720
3 PHP 웹에서 서버 동시 접속자 수 확인 하기 (리눅스용, 윈도우용) JaeSoo 2013.04.12 9142
2 통합로그관리시스템 구축사례 JaeSoo 2013.02.05 4277
1 SAS(Serial Attached SCSI)에 대하여 알기 JaeSoo 2009.10.09 4891
Board Pagination Prev 1 Next
/ 1

PageViews   Today : 1,090   Yesterday : 1,437   Total : 19,678,708  /  Counter Status   Today : 382   Yesterday : 443   Total : 1,383,993
Site Info   Member : 221  /  Total documents : 1,221   New documents : 0  /  Total comments : 24

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소