PHP递归删除多级目录

时间:2022-06-01 14:10:35

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);