phpschool의 팁란에 올라온 글입니다.계정을 쓰고있거나
호스팅을 받고있다면 유용하겠군요.
물론 루트의 권한이있다면 필요가
없겠죠?
관련글의 코멘트도
한번 읽어볼만
합니다.~
-------------------------------------------------------
글쓴이:kagla
여러가지
웹어플리케이션을 설치하다보면 프로그램에서 nobody 권한으로 디렉토리와 파일을 만들어 놓는것을 볼 수 있습니다.
슈퍼유저 권한이 있다면 별 문제 없으나 웹호스팅을 주로 사용하는 사용자들은 정말 난감하지요.
삭제도 되지 않고 ... 하드디스크를 낭비하고 ... 보기에도 좋지 않고 ... ㅡㅡ;
이럴때 사용하는 함수입니다. 제가 사용하려고 만들었구요. 여타 오류에 대해서는 아직 검증을 하지 못했습니다.
※ 주의 : 묻지 않고 삭제하므로 신중을 기해주세요. 제작자는 이 함수와 관련된 모든 오류에 대해 책임을 지지 않습니다.
사용방법 : $directory 의 내용만 변경해 주신 후 브라우저에서 이 프로그램을 실행하시면 됩니다.
--- nobody_delete.php --
<?
function recusive_delete($directory) {
$dir =
opendir($directory);
while ($d = readdir($dir)) {
if ($d == "." || $d ==
"..")
continue;
$xxx = "$directory/$d";
// 파일 그룹이 99 이면 nobody
$fgroup = filegroup($xxx);
if (is_dir($xxx)) {
recusive_delete($xxx);
if ($fgroup == 99)
{
rmdir($xxx);
}
} else {
if ($fgroup == 99)
{
unlink($xxx);
}
}
}
closedir($dir);
}
$directory = "tmp";
recusive_delete($directory);
?>
'ETC' 카테고리의 다른 글
Tagged Message Delivery Agent (TMDA) (3) | 2003.03.23 |
---|---|
mc-4.5.x대에서 php syntax highlight보기 (0) | 2002.09.19 |
리눅스 iptables 기반 NAT에서 msn파일 전송 사용하기 (1) | 2002.08.09 |
MRTG 5월 버그(?) (0) | 2002.05.08 |
renameto(특정 파일/디렉토리 이름 바꾸기) (0) | 2002.04.26 |