웹마스터 팁
page_full_width">
[수정본]남은 계정 용량 보여주는 PHP 프로그램
2002.03.28 16:53
http://java.compuz.com/php/du.php먼저 알고 넘어가야 할 상식?
유닉스계열의 쉘 명령어 중에 디렉토리 용량을 체크하는 #du -sk(sm)이란 명령어가 있습니다.
옵션 -sk는 kbyte로 보여주고 -sm은 Mbyte로 보여줍니다.
바로 텔넷으로 자신의 계정에 접속해서 #du -sm명령을 치면 현재 디렉토리의 용량을 알려줍니다.
놀랍게도 `(역따옴표)를 사용해서 php에서도 유닉스계열 쉘명령어를 실행 시킬 수 있다는 것입니다.
제가 태스트 해 보니 다 되더군요!!
자~ 그럼 아주아주 간단한 용량표시 프로그램을 보시겠습니다.
파일명:du.php
$account=50; //50은 자신에게 할당된 계정 총 용량입니다. 여기만 수정하면 끝~
$du=`du -sm [절대경로]`; //역따옴표로 실행하고자 하는 쉘명령어를 묶음
$free=$account-$du;
echo"총계정 용량:".$account."
사용 용량:".$du."
남은 용량:".$free;
?>
아주 아주 간단하죠!!
[주의1]사용용량이 무조건 0으로 나오면은요...
자기 루트 디렉토리(public_html)의 퍼미션및 하위 모든 폴더 디렉토리 퍼미션을
755(pubic권한:read할당)로 하시면 됩니다.
[주의2]`du -sm`은 파일이 업로드된 디렉토리만의 용량을 보여주게 됩니다.
무조건 자신의 총 사용용량을 알고 싶다면 $du=`du -sm 절대경로`; 절대 경로명을 옵션 다음에 추가 하시면 du.php파일이 어디에서 실행되건 자신의 총 사용용량을 보여줍니다. 절대경로라 함은 예를 들어 /home/아뒤/public_html을 말합니다.
유닉스계열의 쉘 명령어 중에 디렉토리 용량을 체크하는 #du -sk(sm)이란 명령어가 있습니다.
옵션 -sk는 kbyte로 보여주고 -sm은 Mbyte로 보여줍니다.
바로 텔넷으로 자신의 계정에 접속해서 #du -sm명령을 치면 현재 디렉토리의 용량을 알려줍니다.
놀랍게도 `(역따옴표)를 사용해서 php에서도 유닉스계열 쉘명령어를 실행 시킬 수 있다는 것입니다.
제가 태스트 해 보니 다 되더군요!!
자~ 그럼 아주아주 간단한 용량표시 프로그램을 보시겠습니다.
파일명:du.php
$account=50; //50은 자신에게 할당된 계정 총 용량입니다. 여기만 수정하면 끝~
$du=`du -sm [절대경로]`; //역따옴표로 실행하고자 하는 쉘명령어를 묶음
$free=$account-$du;
echo"총계정 용량:".$account."
사용 용량:".$du."
남은 용량:".$free;
?>
아주 아주 간단하죠!!
[주의1]사용용량이 무조건 0으로 나오면은요...
자기 루트 디렉토리(public_html)의 퍼미션및 하위 모든 폴더 디렉토리 퍼미션을
755(pubic권한:read할당)로 하시면 됩니다.
[주의2]`du -sm`은 파일이 업로드된 디렉토리만의 용량을 보여주게 됩니다.
무조건 자신의 총 사용용량을 알고 싶다면 $du=`du -sm 절대경로`; 절대 경로명을 옵션 다음에 추가 하시면 du.php파일이 어디에서 실행되건 자신의 총 사용용량을 보여줍니다. 절대경로라 함은 예를 들어 /home/아뒤/public_html을 말합니다.
댓글 9
-
주여리
2002.03.29 09:45
[ ] 안에 넣어줘야 하는지요? 절대경로 넣으면 실행이 안되는데요. -
제누스
2002.03.29 15:30
$du=`du -m` /home/아뒤/public_html
이렇게 쓰세요 -
주여리
2002.03.31 22:24
^^ -
토끼군
2002.04.02 17:51
`....`와 system("....")은 (맞나?) 같은 명령이라지요. -_- -
VeryLife
2002.04.18 13:27
토끼군// exec("......"); 아닌가요? -
이기선
2002.05.08 14:54
/etc/passwd 파일을 불러서 응용하니까 현재 서버에 설정된 계정의 각 남은 용량을 표시할 수도 있군요. 쿠쿠~~ -
김성아
2002.08.02 00:32
경로를 상위 경로로 할 순 없는지 궁굼하네요.
예를 들면
$du=`du -sm ../`; -
토끼군
2002.08.12 11:32
VeryLife// 비슷한 명령 같은데요-_-; 저는 system을 많이 쓰... (타앙) -
오케바리
2002.12.31 11:51
퍼미션을 특수하게 사용을 하고 있는데 퍼미션 말고 다른 방법으로 알수는 없을까요?.. ㅎㅎ..
암튼 도움이 많이 됐습니다. 감사합니다.