`

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递归删除目录几个代码实例

    删除一个空目录用rmdir() 函数即可搞定。但是要删除一个非空目录,则无法进行快速的删除,必须先将目录中文件删除,但是目录里可能还会有子目录,因此我们需要进行递归删除

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

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

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

    rmdir() — 删除目录 复制代码 代码如下: – 语法:bool rmdir ( string dirname ) – 尝试删除 dirname 所指定的目录。 该目录必须是空的,而且要有相应的权限。如果成功则返回 TRUE,失败则返回 FALSE。 unlink —...

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

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

    rrmdir php中递归删除目录及目录下的文件

    复制代码 代码如下: function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != “.” && $object != “..”) { if (filetype($dir.”/”.$object) =...

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

    第一种方法: 复制代码 代码如下: &lt;?php /** * 目录生成类 :UtilsMakeDir * @author yepeng * @... /** * 递归建立目录, * 建立成功返回这个全路径, * 建立失败返回false * @param String $pathString 路径字符串

    PHP递归遍历文件夹去除注释并压缩php源代码的方法示例

    主要介绍了PHP递归遍历文件夹去除注释并压缩php源代码的方法,涉及php文件与目录的遍历、读取、判断及使用php_strip_whitespace函数删除注释的相关操作技巧,需要的朋友可以参考下

    php 删除文件夹和它下面的所有文件

    php代码;删除某个文件夹和该文件夹下面的所有文件;改代码没有用递归调用的方式;

    PHP下用rmdir实现删除目录的三种方法小结

    1、递规法:利用递归一层一层的删。 复制代码 代码如下:deleteDir($dir) { if (rmdir($dir)==false && is_dir($dir)) { if ($dp = opendir($dir)) { while (($file=readdir($dp)) != false)...

    php7基于递归实现删除空文件夹的方法示例

    本文实例讲述了php7基于递归实现删除空文件夹的方法。分享给大家供大家参考,具体如下: php版本7.0.4 代码如下: &lt;?php $path = 'd:/'; rmDir_1($path); function rmDir_1($path) { $files = scandir($path); /...

    php实例分享之通过递归实现删除目录下的所有文件详解

    先贴代码: 复制代码 代码如下:&lt;?phpfunction delFile&#40;$dirName&#41;{ if ($handle = opendir(“$dirName”)){ while (($item = readdir($handle))!=false){ if ($item!=”.” && $item!=”..”) { if ...

    php 删除目录下N分钟前创建的所有文件的实现代码

    复制代码 代码如下:&lt;?php//delfile&#40;“upload”,10&#41;;function delfile&#40;$dir,$n&#41; //删除当DIR路径下N分钟前创建的所有文件;{if(is_dir($dir)) { if($dh=opendir($dir)) { while (false !== ($...

    php文件夹的创建与删除方法

    本文实例讲述了php文件夹的创建与删除方法。分享给大家供大家参考。具体如下: 1、创建文件夹 复制代码 代码如下:&lt;?php //文件夹的创建 $file_path = “d:/fold/”; if(!file_exists($file_path)){  mkdir($file...

    php无限级分类 无限级分类

    无限级分类 php无限级分类 php分类 无数组 无递归...

    php删除一个路径下的所有文件夹和文件的方法

    php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用。 也适合在thinkphp中清理缓存,在thinkphp中可以把下面代码写入./...

    留言版或评论盖楼php源程序

    全部代码又本人编写 可以做留言版 也可以评论系统用户可以互相盖楼评论。压缩包里面有一个memberjs.js文件无用大家可以删除,我上传时忘删了

Global site tag (gtag.js) - Google Analytics