如何删除多级目录


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 相关文章推荐
mysql 搜索之简单应用
Apr 27 PHP
中国站长站 For Dede4.0 采集规则
May 27 PHP
php empty() 检查一个变量是否为空
Nov 10 PHP
ThinkPHP实现支付宝接口功能实例
Dec 02 PHP
php获取客户端电脑屏幕参数的方法
Jan 09 PHP
学习php设计模式 php实现原型模式(prototype)
Dec 07 PHP
WordPress的主题编写中获取头部模板和底部模板
Dec 28 PHP
PHP7 新特性详细介绍
Sep 06 PHP
如何离线执行php任务
Feb 21 PHP
php使用ftp实现文件上传与下载功能
Jul 21 PHP
Laravel框架验证码类用法实例分析
Sep 11 PHP
Laravel 在views中加载公共页面的实现代码
Oct 22 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快速按行读取CSV大文件的封装类分享(也适用于其它超大文本文件)
2014/04/10 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
2016/09/11 PHP
PHP 等比例缩放图片详解及实例代码
2016/09/18 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
javascript 学习之旅 (1)
2009/02/05 Javascript
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
javascript的事件触发器介绍的实现
2014/06/05 Javascript
更快的异步执行(setTimeout多浏览器)
2014/08/12 Javascript
JS+CSS实现带关闭按钮DIV弹出窗口的方法
2015/02/27 Javascript
js实现表单Radio切换效果的方法
2015/08/17 Javascript
jQuery事件绑定on()与弹窗实现代码
2016/04/28 Javascript
JavaScript实现多栏目切换效果
2016/12/12 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
JS作用域链详解
2017/06/26 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
JS+jQuery实现注册信息的验证功能
2017/09/26 jQuery
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧滑动,右侧不动)
2019/01/23 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
python正则中最短匹配实现代码
2018/01/16 Python
Python之修改图片像素值的方法
2019/07/03 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
Python 改变数组类型为uint8的实现
2020/04/09 Python
Python tkinter制作单机五子棋游戏
2020/09/14 Python
Python Tkinter实例——模拟掷骰子
2020/10/24 Python
python中yield的用法详解
2021/01/13 Python
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
Hoka One One法国官网:美国专业跑鞋品牌
2018/12/29 全球购物
汽车销售求职自荐信
2013/10/01 职场文书
2013年入党人员的自我鉴定
2013/10/25 职场文书
社区文化建设方案
2014/05/02 职场文书
超市客服工作职责
2014/06/11 职场文书
2014党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书