如何删除多级目录


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 相关文章推荐
实用函数7
Nov 08 PHP
PHP insert语法详解
Jun 07 PHP
php多文件上传下载示例分享
Feb 20 PHP
CI框架装载器Loader.php源码分析
Nov 04 PHP
php实现修改新闻时删除图片的方法
May 12 PHP
php微信公众平台开发(三)订阅事件处理
Dec 06 PHP
PHP基于接口技术实现简单的多态应用完整实例
Apr 26 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
PHP使用Curl实现模拟登录及抓取数据功能示例
Apr 27 PHP
PHP使用curl_multi实现并发请求的方法示例
Apr 29 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
Aug 30 PHP
thinkphp5框架实现的自定义扩展类操作示例
May 16 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(8) php 数组
2010/03/05 PHP
PHP原生函数一定好吗?
2014/12/08 PHP
Json_encode防止汉字转义成unicode的方法
2016/02/25 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
js FLASH幻灯片字符串中有连接符&的处理方法
2012/03/01 Javascript
JavaScript字符串对象charAt方法入门实例(用于取得指定位置的字符)
2014/10/17 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
详解javascript表单的Ajax提交插件的使用
2016/12/29 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
Node层模拟实现multipart表单的文件上传示例
2018/01/02 Javascript
vuejs选中当前样式active的实例
2018/08/22 Javascript
微信小程序webview与h5通过postMessage实现实时通讯的实现
2019/08/20 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
Python标准库之collections包的使用教程
2017/04/27 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
PyCharm搭建Spark开发环境实现第一个pyspark程序
2019/06/13 Python
python里dict变成list实例方法
2019/06/26 Python
python将类似json的数据存储到MySQL中的实例
2019/07/12 Python
python实现在函数中修改变量值的方法
2019/07/16 Python
Python ORM编程基础示例
2020/02/02 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
scrapy与selenium结合爬取数据(爬取动态网站)的示例代码
2020/09/28 Python
Python eval函数原理及用法解析
2020/11/14 Python
python压包的概念及实例详解
2021/02/17 Python
海信商城:海信电视、科龙空调、容声冰箱官方专卖
2017/02/07 全球购物
培训讲师邀请函
2014/01/10 职场文书
毕业设计说明书
2014/05/07 职场文书
企业总经理任命书
2014/06/05 职场文书
市场营销专业自荐书
2014/06/10 职场文书
销售人员工作自我评价
2014/09/21 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
2019年入党思想汇报格式与要求
2019/06/25 职场文书
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记
Java Spring Lifecycle的使用
2022/05/06 Java/Android