function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != “.” && $object != “..”) { if (filetype($dir.”/”.$object) == “dir”) rrmdir($dir.”/”.$object); else unlink($dir.”/”.$object); } } reset($objects); } }
rmdir
(PHP 4, PHP 5)
rmdir — 디렉토리 삭제
버그 신고 설명
bool rmdir ( string $dirname )
지정된 디렉토리를 삭제해 보세요. by dirname 목차. 디렉터리는 비어 있어야 하며 적절한 권한이 있어야 합니다. 성공하면 TRUE를, 실패하면 FALSE를 반환합니다.
참고: PHP 5.0.0부터 rmdir()은 특정 URL 래핑 프로토콜과 함께 사용할 수도 있습니다. rmdir()이 지원하는 URL 래핑 프로토콜을 보려면 지원되는 프로토콜 및 래퍼 목록을 참조하세요.
참고: 컨텍스트에 대한 지원은 PHP 5.0.0에 추가되었습니다. 컨텍스트에 대한 설명은 Stream 함수를 참조하세요.
참고: 안전 모드가 활성화되면 PHP는 스크립트를 실행할 때 스크립트에 의해 조작되는 디렉터리가 실행 중인 스크립트와 동일한 UID(소유자)를 가지고 있는지 확인합니다.
mkdir() 및 unlink()를 참조하세요.
<?php function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != "." && $object != "..") { if (filetype($dir."/".$object) == "dir") rrmdir($dir."/".$object); else unlink($dir."/".$object); } } reset($objects); rmdir($dir); } } ?>
<?php function deleteAll($directory, $empty = false) { if(substr($directory,-1) == "/") { $directory = substr($directory,0,-1); } if(!file_exists($directory) || !is_dir($directory)) { return false; } elseif(!is_readable($directory)) { return false; } else { $directoryHandle = opendir($directory); while ($contents = readdir($directoryHandle)) { if($contents != '.' && $contents != '..') { $path = $directory . "/" . $contents; if(is_dir($path)) { deleteAll($path); } else { unlink($path); } } } closedir($directoryHandle); if($empty == false) { if(!rmdir($directory)) { return false; } } return true; } } ?> [/code] A patch to previous script to make sure rights for deletion is set:
<?php //Delete folder function function deleteDirectory($dir) { if (!file_exists($dir)) return true; if (!is_dir($dir) || is_link($dir)) return unlink($dir); foreach (scandir($dir) as $item) { if ($item == '.' || $item == '..') continue; if (!deleteDirectory($dir . "/" . $item)) { chmod($dir . "/" . $item, 0777); if (!deleteDirectory($dir . "/" . $item)) return false; }; } return rmdir($dir); } ?>
rrmdir php에서 디렉토리와 디렉토리 아래의 파일을 반복적으로 삭제하는 것과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트에 주목하세요!