PHP之递归删除

Posted ChotocateCat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP之递归删除相关的知识,希望对你有一定的参考价值。

 1 <?php
 2 
 3     //递归删除目录
 4     $path = "D:/a";
 5     //调用递归函数
 6     $res = diGUiRmDir($path);
 7     //输出结果
 8     var_dump($res);
 9 
10     function diGUiRmDir($path){
11 
12         //打开目录句柄
13         $handle = opendir($path);
14 
15         //readdir() 从目录句柄中读取条目 
16         //返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回
17         while(false !== $filename = readdir($handle)){
18             if ($filename ==‘.‘ || $filename ==‘..‘) {  //跳过 . ..文件夹
19                 continue;
20             }
21 
22             //判断是否为目录
23             if (is_dir($path.‘/‘.$filename)) {
24                 $current_func = __FUNCTION__;
25                 //是目录,递归删除
26                 $current_func = ($path.‘/‘.$filename);
27             }else{
28                 //是文件,删除
29                 unlink($path.‘/‘.$filename); //unlink() 删除文件 返回bool
30             }
31         }
32         //目录删除完毕
33         closedir($handle); //关闭目录句柄
34         return rmdir($path); // 删除目录返回结果
35     }

 

以上是关于PHP之递归删除的主要内容,如果未能解决你的问题,请参考以下文章

Java.nio:最简洁的递归目录删除

Java基础之方法的调用重载以及简单的递归

如何在 PHP 中循环遍历多维数组并按名称递归删除键?

Node.js之删除文件夹(含递归删除)

php Microthemer删除片段

Java基础入门五)之方法以及递归算法