如何删除多级目录


Posted in PHP onOctober 09, 2006

昨天看见一个贴子(chinaasp)问怎么删除目录,以前一直可以,但昨天出了问题,原来他只是把他下级的文件删了后就删

目录所以如果多几级就有问题。

我的这个只能暂时凑活着用,如果你的目录没有十几层的话应该没有问题的吧~,但我不熟悉递归只能做到

deltree($path);rmdir($path)才能删除这个目录能不能做到直接deltree($path);就删除这个目录??

function deltree($pathdir)
{
echo $pathdir;//我调试时用的

if(is_empty_dir($pathdir))//如果是空的
    {
    rmdir($pathdir);//直接删除
    }
    else
    {//否则读这个目录,除了.和..外
        $d=dir($pathdir);
        while($a=$d->read())
        {
        if(is_file($pathdir.'/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'/'.$a);}
        //如果是文件就直接删除
        if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..'))
        {//如果是目录
            if(!is_empty_dir($pathdir.'/'.$a))//是否为空
            {//如果不是,调用自身,不过是原来的路径+他下级的目录名
            deltree($pathdir.'/'.$a);
            }
            if(is_empty_dir($pathdir.'/'.$a))
            {//如果是空就直接删除
            rmdir($pathdir.'/'.$a);
            }
        }
        }
        $d->close();

    echo "必须先删除目录下的所有文件";//我调试时用的

    }

}

function is_empty_dir($pathdir)
{//判断目录是否为空,我的方法不是很好吧?只是看除了.和..之外有其他东西不是为空,PHP有没有给出什么

函数?
$d=opendir($pathdir);
$i=0;
    while($a=readdir($d))
    {
    $i++;
    }
closedir($d);
if($i>2){return false;}
else return true;
}  

PHP 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
PHP 中的一些经验积累
Oct 09 PHP
一个ORACLE分页程序,挺实用的.
Oct 09 PHP
在windows服务器开启php的gd库phpinfo中未发现
Jan 13 PHP
php用正则表达式匹配URL的简单方法
Nov 12 PHP
PHP检测移动设备类mobile detection使用实例
Apr 14 PHP
Codeigniter整合Tank Auth权限类库详解
Jun 12 PHP
php遍历解析xml字符串的方法
May 05 PHP
PHP中的多种加密技术及代码示例解析
Oct 20 PHP
php防止sql注入的方法详解
Feb 20 PHP
PHP如何实现订单的延时处理详解
Dec 30 PHP
thinkPHP框架动态配置用法实例分析
Jun 14 PHP
用PHP实现多级树型菜单
Oct 09 #PHP
PHP4在Windows2000下的安装
Oct 09 #PHP
模仿OSO的论坛(五)
Oct 09 #PHP
基于mysql的论坛(2)
Oct 09 #PHP
基于mysql的论坛(1)
Oct 09 #PHP
基于mysql的论坛(4)
Oct 09 #PHP
基于mysql的论坛(5)
Oct 09 #PHP
You might like
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
2016/11/01 PHP
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
jQuery中jqGrid分页实现代码
2011/11/04 Javascript
让AJAX不依赖后端接口实现方案
2012/12/03 Javascript
关于jquery input textare 事件绑定及用法学习
2013/04/03 Javascript
java与javascript之间json格式数据互转介绍
2013/10/29 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
ie7+背景透明文字不透明超级简单的实现方法
2014/01/17 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
原生JavaScript实现合并多个数组示例
2014/09/21 Javascript
悬浮广告方法日常收集整理
2016/03/18 Javascript
如何使用jquery实现文字上下滚动效果
2016/10/12 Javascript
JS+CSS3制作炫酷的弹窗效果
2016/11/08 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
jQuery之动画ajax事件(实例讲解)
2017/07/18 jQuery
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
javascript之分片上传,断点续传的实际项目实现详解
2019/09/05 Javascript
Vue 数组和对象更新,但是页面没有刷新的解决方式
2019/11/09 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
详解Vue.js 可拖放文本框组件的使用
2021/03/03 Vue.js
Python列表推导式的使用方法
2013/11/21 Python
Django视图之ORM数据库查询操作API的实例
2017/10/27 Python
python基础教程项目二之画幅好画
2018/04/02 Python
Python 16进制与中文相互转换的实现方法
2018/07/09 Python
python try 异常处理(史上最全)
2019/03/07 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
Python嵌入C/C++进行开发详解
2020/06/09 Python
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
应届生求职简历的自我评价怎么写
2013/10/23 职场文书
建房协议书
2014/04/11 职场文书
中国梦团日活动总结
2014/07/07 职场文书
大学生个人简历自我评价
2015/03/11 职场文书