如何删除多级目录


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如何透过ODBC来存取数据库
Oct 09 PHP
PHP学习之正则表达式
Apr 17 PHP
php中批量删除Mysql中相同前缀的数据表的代码
Jul 01 PHP
php数组声明、遍历、数组全局变量使用小结
Jun 05 PHP
php无限分类且支持输出树状图的详细介绍
Jun 19 PHP
推荐25款php中非常有用的类库
Sep 29 PHP
PHP使用内置函数file_put_contents写入文件及追加内容的方法
Dec 07 PHP
PHP7匿名类用法分析
Sep 26 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
May 20 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 PHP
PHP基于Closure类创建匿名函数的方法详解
Aug 17 PHP
php调用云片网接口发送短信的实现方法
Oct 25 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
Apache2 httpd.conf 中文版
2006/11/17 PHP
Optimizer与Debugger兼容性问题的解决方法
2008/12/01 PHP
php curl选项列表(超详细)
2013/07/01 PHP
ThinkPHP3.1查询语言详解
2014/06/19 PHP
php生成短域名函数
2015/03/23 PHP
PHP rsa加密解密使用方法
2015/04/27 PHP
extjs grid设置某列背景颜色和字体颜色的实现方法
2010/09/06 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
window.open()详解及浏览器兼容性问题示例探讨
2014/05/29 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
JavaScript Sort 的一个错误用法示例
2015/03/20 Javascript
浅析JavaScript中的对象类型Object
2016/05/26 Javascript
Vue.js 表单校验插件
2016/08/14 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
node使用request请求的方法
2019/12/20 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
2020/05/19 Javascript
处理JavaScript值为undefined的7个小技巧
2020/07/28 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
python入门教程 python入门神图一张
2018/03/05 Python
对Python 文件夹遍历和文件查找的实例讲解
2018/04/26 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
基于python实现聊天室程序
2018/07/27 Python
Python3并发写文件与Python对比
2019/11/20 Python
python ftplib模块使用代码实例
2019/12/31 Python
python 使用递归实现打印一个数字的每一位示例
2020/02/27 Python
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
西班牙最大的在线滑板和街头服饰商店:Fillow.net
2019/04/15 全球购物
全球最大的生存食品、水和装备专用在线市场:BePrepared.com
2020/01/02 全球购物
教师远程培训感言
2014/03/06 职场文书
研讨会通知
2015/04/27 职场文书
2015年度绩效考核工作总结
2015/05/27 职场文书
vue router 动态路由清除方式
2022/05/25 Vue.js