如何删除多级目录


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 相关文章推荐
IIS6.0 开启Gzip方法及PHP Gzip函数分享
Jun 08 PHP
php判断数组元素中是否存在某个字符串的方法
Jun 14 PHP
destoon之一键登录设置
Jun 21 PHP
wamp安装后自定义配置的方法
Aug 23 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
PHP用反撇号执行外部命令
Apr 14 PHP
PHP date函数常用时间处理方法
May 11 PHP
WordPress迁移时一些常见问题的解决方法整理
Nov 24 PHP
thinkphp 手机号和用户名同时登录
Jan 20 PHP
thinkphp5.1框架实现格式化mysql时间戳为日期的方式小结
Oct 10 PHP
laravel 中某一字段自增、自减的例子
Oct 11 PHP
php字符串倒叙
Apr 01 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中Cookie与Session的异同
2016/02/19 PHP
Zend Framework教程之Zend_Controller_Plugin插件用法详解
2016/03/07 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
用js实现的页面关键字密度查询代码
2007/12/27 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
Node.js Addons翻译(C/C++扩展)
2016/06/12 Javascript
基于javascript实现的购物商城商品倒计时实例
2016/12/11 Javascript
JS定时器用法分析【时钟与菜单中的应用】
2016/12/21 Javascript
Bootstrap 过渡效果Transition 模态框(Modal)
2017/03/17 Javascript
js省市区级联查询(插件版&无插件版)
2017/03/21 Javascript
了解VUE的render函数的使用
2017/06/08 Javascript
vue-star评星组件开发实例
2018/03/01 Javascript
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
2020/05/31 Javascript
儿童编程python入门
2018/05/08 Python
python:print格式化输出到文件的实例
2018/05/14 Python
Django分页查询并返回jsons数据(中文乱码解决方法)
2018/08/02 Python
python接口自动化测试之接口数据依赖的实现方法
2019/04/26 Python
python实现名片管理器的示例代码
2019/12/17 Python
django API 中接口的互相调用实例
2020/04/01 Python
对python中list的五种查找方法说明
2020/07/13 Python
django inspectdb 操作已有数据库数据的使用步骤
2021/02/07 Python
Dogeared官网:在美国手工制作的珠宝
2019/08/24 全球购物
电子信息工程专业求职信
2014/06/28 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
2015年国庆节活动总结
2015/03/23 职场文书
入党介绍人意见2015
2015/06/01 职场文书
趣味运动会加油词
2015/07/18 职场文书
nginx location中多个if里面proxy_pass的方法
2021/03/31 Servers
python实现简单聊天功能
2021/07/07 Python
java设计模式--原型模式详解
2021/07/21 Java/Android
SpringBoot中使用Redis作为全局锁示例过程
2022/03/24 Java/Android