RadarURL
Skip to content
조회 수 3679 추천 수 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 1
17 내장 및 외장 그래픽 카드 비교 (Desktop GPU Performance Hierarchy Table) JAESOO 2017.09.21 0
16 지포스/라데온 그래픽카드 성능 순위 (17년 05월) JAESOO 2017.09.21 0
15 AMD 라데온 R9/ R7 200 시리즈 네이밍 어떻게 바뀌었나? JAESOO 2017.09.21 0
14 용량 산정 (동시 접속자 계산) JAESOO 2016.05.04 2107
13 SVN의 cleanup 에러시 해결방법 JAESOO 2016.05.04 395
12 [오류해결] svn cleanup failed-previous operation has not finished; run cleanup if it was interrupted JAESOO 2016.05.04 149
11 TortoiseSVN 계정변경 JAESOO 2016.05.04 169
10 SVN passwd 설정 : 계정 (users/passwd) JAESOO 2016.05.04 154
9 [SVN] Subversion 명령들 JAESOO 2016.02.05 157
8 성능 엔지니어링 대한 접근 방법 (Performance tuning) JAESOO 2015.08.24 663
7 시스템 용량산정 도구 (x86 서버외 용량산정) JAESOO 2015.08.24 727
6 throttle-me를 이용한 계정 트래픽 나타내기 JaeSoo 2013.04.12 3562
5 윈도우 디스크 용량 확인 2 JaeSoo 2013.04.12 4817
» PHP 디렉토리 용량 체크 (윈도우 리눅스 공용) JaeSoo 2013.04.12 3679
3 PHP 웹에서 서버 동시 접속자 수 확인 하기 (리눅스용, 윈도우용) JaeSoo 2013.04.12 8199
2 통합로그관리시스템 구축사례 JaeSoo 2013.02.05 4242
1 SAS(Serial Attached SCSI)에 대하여 알기 JaeSoo 2009.10.09 4862
Board Pagination Prev 1 Next
/ 1

PageViews   Today : 938   Yesterday : 1,648   Total : 19,197,825  /  Counter Status   Today : 282   Yesterday : 431   Total : 1,253,557
Site Info   Member : 58  /  Total documents : 1,202   New documents : 0  /  Total comments : 26

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소