如何删除多级目录


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 相关文章推荐
php入门学习知识点六 PHP文件的读写操作代码
Jul 14 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
Mar 06 PHP
PHP设计模式之结构模式的深入解析
Jun 13 PHP
php对包含html标签的字符串进行截取的函数分享
Jun 19 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
Nov 24 PHP
PHP中防止SQL注入方法详解
Dec 25 PHP
php中使用url传递数组的方法
Feb 11 PHP
用PHP写的一个冒泡排序法的函数简单实例
May 26 PHP
PHP身份证校验码计算方法
Aug 10 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
Aug 19 PHP
PHP微信模板消息操作示例
Jun 29 PHP
thinkphp中U方法按路由规则生成url的方法
Mar 12 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 include的妙用,实现路径加密
2008/07/29 PHP
从wamp到xampp的升级之路
2015/04/08 PHP
php使用GD库创建图片缩略图的方法
2015/06/10 PHP
ThinkPHP 3.2.3实现加减乘除图片验证码
2018/12/05 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
php实现微信和支付宝支付的示例代码
2020/08/11 PHP
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
五个jQuery图片画廊插件 推荐
2011/05/12 Javascript
简单的代码实现jquery定时器
2014/01/03 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
基于Vue.js实现tab滑块效果
2017/07/23 Javascript
JS实现电商放大镜效果
2017/08/24 Javascript
详解react-router 4.0 下服务器如何配合BrowserRouter
2017/12/29 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
vue组件横向树实现代码
2018/08/02 Javascript
微信小程序自定义select下拉选项框组件的实现代码
2018/08/28 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
[02:57]DOTA2亚洲邀请赛 SECRET战队出场宣传片
2015/02/07 DOTA
python中while循环语句用法简单实例
2015/05/07 Python
Python itertools模块详解
2015/05/09 Python
python web框架学习笔记
2016/05/03 Python
python特性语法之遍历、公共方法、引用
2018/08/08 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
Django接收post前端返回的json格式数据代码实现
2019/07/31 Python
Django restframework 框架认证、权限、限流用法示例
2019/12/21 Python
Python引入多个模块及包的概念过程解析
2020/09/21 Python
python 高阶函数简单介绍
2021/02/19 Python
介绍一下SOA和SOA的基本特征
2016/02/24 面试题
教师现实表现材料
2014/02/14 职场文书
无毒社区工作方案
2014/05/23 职场文书
口才训练演讲稿范文
2014/09/16 职场文书
平安家庭事迹材料
2014/12/20 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
redis requires ruby version2.2.2的解决方案
2021/07/15 Redis