PHP:删除文件夹(包括其内容)的最简单方法

2022-08-30 13:45:08

如果文件夹包含任何文件,则该函数将失败。我可以使用如下方式遍历目录中的所有文件:rmdir()

foreach (scandir($dir) as $item) {
    if ($item == '.' || $item == '..') continue;
    unlink($dir.DIRECTORY_SEPARATOR.$item);
}
rmdir($dir);

有没有办法一次全部删除它?


答案 1

rrmdir()-- 递归删除目录:

function rrmdir($dir) { 
  foreach(glob($dir . '/*') as $file) { 
    if(is_dir($file)) rrmdir($file); else unlink($file); 
  } rmdir($dir); 
}

答案 2

嗯,总是有

system('/bin/rm -rf ' . escapeshellarg($dir));

如果可用。


推荐