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);
?>

관련 링크: http://phpschool.com/bbs2/inc_view.html?id=7353&code=tnt2&start=0&mode=search&s_que=nobody&field=title&operator=and&period=all&c

+ Recent posts