如何删除多级目录


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(1)
Oct 09 PHP
一个连接两个不同MYSQL数据库的PHP程序
Oct 09 PHP
对Session和Cookie的区分与解释
Mar 16 PHP
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 PHP
特详细的PHPMYADMIN简明安装教程
Aug 01 PHP
php面向对象全攻略 (十二) 抽象方法和抽象类
Sep 30 PHP
PHP 用数组降低程序的时间复杂度
Dec 04 PHP
php代码运行时间查看类代码分享
Aug 06 PHP
Yii实现多数据库主从读写分离的方法
Dec 29 PHP
php截取指定2个字符之间字符串的方法
Apr 15 PHP
php三种实现多线程类似的方法
Oct 30 PHP
我整理的PHP 7.0主要新特性
Jan 07 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 删除记录实现代码
2009/03/12 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
yii框架配置默认controller和action示例
2014/04/30 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
使用XHGui来测试PHP性能的教程
2015/07/03 PHP
PHP+MySQL实现无极限分类栏目的方法
2015/12/23 PHP
Ajax请求PHP后台接口返回信息的实例代码
2018/08/21 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
JQuery实现的在新窗口打开链接的方法小结
2010/04/22 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
Jquery 数组操作大全个人总结
2013/11/13 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
关于在vue-cli中使用微信自动登录和分享的实例
2017/06/22 Javascript
Vuex 入门教程
2018/01/10 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
Vue页面跳转传递参数及接收方式
2020/09/09 Javascript
详解Python中for循环的使用
2015/04/14 Python
详解Python中的__new__、__init__、__call__三个特殊方法
2016/06/02 Python
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
python排序函数sort()与sorted()的区别
2018/09/18 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
python3使用flask编写注册post接口的方法
2018/12/28 Python
Python实现socket非阻塞通讯功能示例
2019/11/06 Python
python学习之使用Matplotlib画实时的动态折线图的示例代码
2021/02/25 Python
直接有效的自我评价
2014/01/11 职场文书
促销活动策划方案
2014/01/12 职场文书
新员工欢迎词
2014/01/12 职场文书
公司市场部岗位职责
2015/04/15 职场文书
2016优秀毕业生个人事迹材料
2016/02/29 职场文书
vue+spring boot实现校验码功能
2021/05/27 Vue.js
使用 Apache Superset 可视化 ClickHouse 数据的两种方法
2021/07/07 Servers