rmrf() 함수에 대해.. 사용자 정의 함수인지요? 정보
그누보드 rmrf() 함수에 대해.. 사용자 정의 함수인지요?본문
file.lib.php 에 있는 rmrf() 함수에 대해서 궁금해서요..
해당 파일이나 디렉토리를 삭제하는 함수인데요..
한가지 의문이 있어서요.. rmrf() 함수를 함수 안에서 불러 들여서 삭제를 하는데요..
rmrf_1() 함수 로 하면 해당 디렉토리 안에 있는 파일이 삭제가 안되더군요.
사용자 정의함수라면 rmrf() 나 rmrf_1() 상관없이 작동하는 것이 아닌지요?
고수님의 지도 편달 바랍니다.
function rmrf_1($file)
{
if (file_exists($file)) {
@chmod($file, 0777);
if (is_dir($file)) {
$handle = opendir($file);
while ($filename = readdir($handle)) {
if ($filename != "." && $filename != "..") {
echo $filename;
rmrf_1($file."/".$filename);
}
}
closedir($handle);
//rmdir($file);
} else {
// unlink($file);
}
}
} // 함수 끝
$file = "test";
echo rmrf_1($file);
위와 같이 하면 해당 파일이 삭제가 되지 않던데요.?
해당 파일이나 디렉토리를 삭제하는 함수인데요..
한가지 의문이 있어서요.. rmrf() 함수를 함수 안에서 불러 들여서 삭제를 하는데요..
rmrf_1() 함수 로 하면 해당 디렉토리 안에 있는 파일이 삭제가 안되더군요.
사용자 정의함수라면 rmrf() 나 rmrf_1() 상관없이 작동하는 것이 아닌지요?
고수님의 지도 편달 바랍니다.
function rmrf_1($file)
{
if (file_exists($file)) {
@chmod($file, 0777);
if (is_dir($file)) {
$handle = opendir($file);
while ($filename = readdir($handle)) {
if ($filename != "." && $filename != "..") {
echo $filename;
rmrf_1($file."/".$filename);
}
}
closedir($handle);
//rmdir($file);
} else {
// unlink($file);
}
}
} // 함수 끝
$file = "test";
echo rmrf_1($file);
위와 같이 하면 해당 파일이 삭제가 되지 않던데요.?
댓글 전체

리눅스에서에는 자신의 파일은 자신 또는 상위 유저에 의해서만 삭제가 가능합니다.
웹상에서 생성한 파일은 대부분 nobody의 계정을 갖게 되는데 계정이 nobody인 파일을 지울려면 유저가 nobody이거나 root이여야 합니다.
위와 같이 해서 삭제가 안되는 이유는 $file = "test"는 일반 계정에서 생성된 파일이 아닌가 쉽습니다.
웹상에서 생성한 파일은 대부분 nobody의 계정을 갖게 되는데 계정이 nobody인 파일을 지울려면 유저가 nobody이거나 root이여야 합니다.
위와 같이 해서 삭제가 안되는 이유는 $file = "test"는 일반 계정에서 생성된 파일이 아닌가 쉽습니다.