`

php递归删除目录的代码

阅读更多
php 删除空目录比较简单,rmdir() 函数就可以搞定,但是要删除一个非空目录,将不能进行快速的删除,必须先将目录中文件删除,但是目录里可能还会有子目录所以要进行递归删除。

php 删除多级目录的代码,示例如下。
<?php
function deletedir($dir){
      if(!handle=@opendir($dir)){     //检测要打开目录是否存在
               die("没有该目录");
      }
     while(false !==($file=readdir($handle))){
               if($file!=="."&&$file!==".."){       //排除当前目录与父级目录
                            $file=$dir .DIRECTORY_SEPARATOR. $file;
                            if(is_dir($file)){
                                  deletedir($file);
                            }else{
                                  if(@unlink($file)){
                                         echo "文件<b>$file</b>删除成功。<br>";
                                  }else{
                                          echo  "文件<b>$file</b>删除失败!<br>";
                                 }
                }
     }
    if(@rmdir($dir)){
           echo "目录<b>$dir</b>删除成功了。<br>\n";
    }else{
           echo "目录<b>$dir</b>删除失败!<br>\n";
  }
}
 
//测试程序
$dir="/var/www/test";
deletedir($dir);
?>


在 /var/www/test 文件夹下建一些用于测试的文件夹和文件。
shell> touch  aaa
shell> touch  bbb
shell> touch  ccc
shell> touch  eee
shell> touch  ffff
shell> mkdir   111
shell> mkdir   222
shell> mkdir   333

分别再在111,222,333  文件夹下建写文件这里就不多说了,然后给他们权限
shell>chown www.www test -R
然后在浏览器访问上面的代码,即可删除这些文件了。
分享到:
评论

相关推荐

    php快速删除目录及目录中的文件

    总结来说,PHP通过递归删除的方式可以快速清理整个目录,相比FTP具有更高的效率。通过理解并运用这些知识点,你可以更有效地管理你的服务器上的文件和目录。不过,务必谨慎操作,因为文件系统的删除操作通常是不可逆...

    php递归创建和删除文件夹的代码小结

    递归删除文件夹的代码如下: ```php class UtilsMakeDir { private static $delBasePath = 'video'; public static function delDir($stringPath) { if (!$handle = @opendir($stringPath)) { return false; ...

    php递归删除目录与文件的方法

    本文将深入探讨如何使用PHP的递归函数来删除目录和文件。 首先,让我们分析提供的代码片段: ```php function deldir($path){ $dh = opendir($path); var_dump(readdir($dh)); while (($d = readdir($dh)) !== ...

    递归删除一个节点以及该节点下的全部节点示例_.docx

    在本示例中,我们看到的是一种递归删除操作,主要用于数据库中的部门管理。递归在这里被用来删除一个部门及其所有子部门。下面将详细解释这段代码的工作原理和递归在其中的作用。 首先,`del` 函数接受一个参数 `$...

    PHP递归获取目录内所有文件的实现方法

    这通常通过递归算法来实现,因为非递归的方式可能会导致代码过于复杂,尤其是当处理深度较大的目录树时。`scan_dir`函数就是一个这样的递归实现,用于获取目录内所有文件并返回一个TREE结构的文件系统。 函数的基本...

    php创建和删除目录函数介绍和递归删除目录函数分享

    在本文中,我们将详细介绍PHP中的文件目录操作相关函数,并且分享如何实现一个递归删除目录的自定义函数。 首先,PHP提供了多个内置函数,用于创建和删除目录。最基础的函数是`mkdir()`,用于创建一个新的目录。其...

    php自定义函数之递归删除文件及目录

    复制代码 代码如下: /*—————————————————— */ //– 递归删除文件及目录 //– 例: del_dir (‘../cache/’);注意:返回的/是必须的 //– $type 强制删除目录, true 是 ,false 否 /*——————...

    php利用递归实现删除文件目录的方法

    下面是PHP代码中实现递归删除目录的示例代码: ```php &lt;?php header("Content-type:text/html;charset=gbk"); // 创建一个函数来递归删除目录 function deldir($dir){ $dh = opendir($dir); // 打开目录 while($...

    自己写的php 递归无限分类 附有sql文件

    接着,我们看`index.php`,这个文件很可能是整个系统的入口点,它可能包含了调用无限分类函数的代码。在这个文件中,开发者可能会创建一个函数,如`getCategories()`,该函数接受父类别ID作为参数,然后查询数据库...

    PHP递归删除多维数组中的某个值

    为了实现PHP递归删除多维数组中的某个值,我们定义了一个名为`dealMenuTagDelete`的递归函数。此函数接受两个参数:要处理的多维数组的引用和要删除的特定值。函数的工作流程如下: 1. 首先检查传入的`$menuData`...

    php递归删除目录下的文件但保留的实例分享

    一:删除目录下面的文件,不删除目录复制代码 代码如下:function delFileUnderDir( $dirName ){ if ( $handle = opendir( “$dirName” ) ) { while ( false !== ( $item = readdir( $handle ) ) ) { if

    php快速删除目录及目录中的文件,比ftp还要快[修改版].

    总结,通过使用PHP的内置函数和递归方法,我们可以高效地删除目录及其所有内容,这在某些情况下可能比FTP更快速。在开发过程中,正确处理权限、错误和安全问题至关重要。对于这个特定的"修改版"实现,可能还包括了...

    php递归调用删除数组空值元素的方法

    在删除数组空值元素的场景中,递归可以用来处理数组中的每个元素,如果该元素本身是数组,函数就再次调用自身来处理这个数组,直到所有元素都被检查过。 在提供的示例代码中,定义了一个名为`array_remove_empty`的...

    php递归创建目录的方法

    本文将详细介绍如何使用PHP递归创建目录的方法。 首先,我们要理解递归的基本概念。递归函数是指一个函数在其定义中调用自身。在创建目录时,递归的目的是检查目标目录是否存在,如果不存在,就递归地创建其父目录...

    PHP 删除一个目录及目录下的所有文件的函数代码

    在PHP中,删除一个目录及其下所有文件是一个常见的任务,特别是在处理临时文件或者清理资源时。这个过程涉及到了几个关键的PHP函数,包括`is_dir()`, `opendir()`, `readdir()`, `unlink()`, `closedir()`, 和 `...

Global site tag (gtag.js) - Google Analytics