首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在PHP中递归删除目录及其全部内容(文件+子目录)?

如何在PHP中递归删除目录及其全部内容(文件+子目录)?
EN

Stack Overflow用户
提问于 2010-07-27 03:09:51
回答 19查看 138.7K关注 0票数 146

如何在PHP中删除目录及其全部内容(文件和子目录)?

EN

回答 19

Stack Overflow用户

回答已采纳

发布于 2010-07-27 03:11:49

rmdir手册页面中的用户贡献部分包含了一个不错的实现:

 function rrmdir($dir) { 
   if (is_dir($dir)) { 
     $objects = scandir($dir);
     foreach ($objects as $object) { 
       if ($object != "." && $object != "..") { 
         if (is_dir($dir. DIRECTORY_SEPARATOR .$object) && !is_link($dir."/".$object))
           rrmdir($dir. DIRECTORY_SEPARATOR .$object);
         else
           unlink($dir. DIRECTORY_SEPARATOR .$object); 
       } 
     }
     rmdir($dir); 
   } 
 }
票数 228
EN

Stack Overflow用户

发布于 2013-09-17 06:09:59

删除路径中的所有文件和文件夹。

function recurseRmdir($dir) {
  $files = array_diff(scandir($dir), array('.','..'));
  foreach ($files as $file) {
    (is_dir("$dir/$file")) ? recurseRmdir("$dir/$file") : unlink("$dir/$file");
  }
  return rmdir($dir);
}
票数 18
EN

Stack Overflow用户

发布于 2010-07-27 03:35:13

对于*nix,您可以使用适用于rm -Rshell_exec或适用于Windows的DEL /S folder_name

票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3338123

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档