PHP에서 폴더를 삭제하려면 일반적으로 재귀 삭제를 사용하며 구체적인 단계는 다음과 같습니다.
폴더를 열고 하위 디렉터리를 검색합니다. : opendir()
을 사용하여 폴더를 열고 readdir()
메소드를 사용하여 파일/폴더를 검색합니다. 스캔하는 동안 각 하위 디렉터리가 폴더인지 파일인지 확인하고 여러 수준의 하위 디렉터리에 대한 경로를 배열로 저장합니다. opendir()
打开文件夹并使用readdir()
方法扫描文件/文件夹。在扫描的同时检查每个子目录是一个文件夹还是文件,并将多层子目录的路径存储在数组中。
function deleteFolder($folderPath) { if (!is_dir($folderPath)) return false; // 确认路径是一个目录 $folderIterator = new RecursiveDirectoryIterator($folderPath, RecursiveDirectoryIterator::SKIP_DOTS); $iterator = new RecursiveIteratorIterator($folderIterator, RecursiveIteratorIterator::CHILD_FIRST); foreach ($iterator as $file) { if ($file->isDir()){ rmdir($file->getRealPath()); }else{ unlink($file->getRealPath()); } } rmdir($folderPath); return true; }
rmdir()
function deleteFolder($folderPath) { if (!is_dir($folderPath)) return false; // 确认路径是一个目录 $folderIterator = new RecursiveDirectoryIterator($folderPath, RecursiveDirectoryIterator::SKIP_DOTS); $iterator = new RecursiveIteratorIterator($folderIterator, RecursiveIteratorIterator::CHILD_FIRST); foreach ($iterator as $file) { if ($file->isDir()){ rmdir($file->getRealPath()); }else{ unlink($file->getRealPath()); } } rmdir($folderPath); return true; }
모든 파일과 폴더를 재귀적으로 삭제
: 1단계에서는 여러 수준의 하위 디렉터리 경로가 저장됩니다. 이제 폴더의 하위 폴더 삭제를 먼저 수행해야 하므로 역순으로 배열을 반복합니다.루트 폴더 삭제
: 마지막으로rmdir()
함수를 사용하여 루트 폴더를 삭제하면 됩니다. 🎜🎜🎜전체 코드: 🎜$folderPath = "path/to/your/folder/"; deleteFolder($folderPath); echo "文件夹删除成功!";🎜사용 예: 🎜rrreee🎜참고: 이 코드는 확인 메시지를 표시하지 않고 폴더와 모든 콘텐츠를 직접 삭제합니다. 따라서 사용하기 전에 이 폴더의 모든 내용을 백업했는지 확인하십시오. 🎜
위 내용은 PHP로 폴더를 삭제하는 방법을 설명하는 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!