Home >Backend Development >PHP Problem >Example to explain how to delete a folder with php
To delete a folder in PHP, usually use recursively to delete, the following are the specific steps:
Open the folder and scan the subdirectory: use opendir()
Open the folder and scan the files/folders using the readdir()
method. While scanning, check whether each subdirectory is a folder or file and store the paths to multiple levels of subdirectories in an array.
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 to delete the root folder. Full code:
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; }
Usage example:
$folderPath = "path/to/your/folder/"; deleteFolder($folderPath); echo "文件夹删除成功!";
Note: This code will directly delete the folder and all its contents without prompting for confirmation. Therefore, make sure you have backed up everything in this folder before using it.
The above is the detailed content of Example to explain how to delete a folder with php. For more information, please follow other related articles on the PHP Chinese website!