PHP递归删除多级目录
php删除文件夹需要结合三个函数:
- glob:用于遍历文件
- unlink:删除文件
- rmdir:删除空文件夹
<?php
public static function recursiveDelete($dir) {
$dir = rtrim($dir,'/');
$files = glob($dir.'/*');
foreach ($files as $file) {
(is_dir("$dir/$file")) ? recursiveDelete("$dir/$file") : unlink("$dir/$file");
}
return rmdir($dir);
}
?>
使用glob("/temp/*")是不能遍历到以点号"."开头的隐藏的文件,如果需要对隐藏文件做处理,glob修改如下:
$files = glob($dir.'/{,.}*', GLOB_BRACE);