如何删除多级目录


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脚本的10个技巧(4)
Oct 09 PHP
用PHP获取Google AJAX Search API 数据的代码
Mar 12 PHP
用PHP读取和编写XML DOM的实现代码
Feb 03 PHP
优化php效率,提高php性能的一些方法
Mar 24 PHP
php 下载保存文件保存到本地的两种实现方法
Aug 12 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
Nov 19 PHP
thinkphp缓存技术详解
Dec 09 PHP
PHP中应该避免使用同名变量(拆分临时变量)
Apr 03 PHP
php格式化电话号码的方法
Apr 24 PHP
thinkPHP框架实现生成条形码的方法示例
Jun 06 PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 PHP
PHP实现chrome表单请求数据转换为接口使用的json数据
Mar 04 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随机显示指定文件夹下图片的方法
2015/07/13 PHP
Yii框架防止sql注入,xss攻击与csrf攻击的方法
2016/10/18 PHP
javascript中onclick(this)用法介绍
2013/04/19 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
ECMAScript5(ES5)中bind方法使用小结
2015/05/07 Javascript
浅谈JavaScript对象与继承
2016/07/10 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
基于JavaScript实现随机颜色输入框
2016/12/10 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
js 去掉字符串前后空格实现代码集合
2017/03/25 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
基于vue和react的spa进行按需加载的实现方法
2018/09/29 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
vue 实现移动端键盘搜索事件监听
2019/11/06 Javascript
Python自定义scrapy中间模块避免重复采集的方法
2015/04/07 Python
Python中if __name__ == '__main__'作用解析
2015/06/29 Python
Django的信号机制详解
2017/05/05 Python
Python实现的将文件每一列写入列表功能示例【测试可用】
2018/03/19 Python
关于Python的一些学习总结
2018/05/25 Python
Python小游戏之300行代码实现俄罗斯方块
2019/01/04 Python
python利用Tesseract识别验证码的方法示例
2019/01/21 Python
python搜索包的路径的实现方法
2019/07/19 Python
python梯度下降算法的实现
2020/02/24 Python
如何用Django处理gzip数据流
2021/01/29 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
html5+css3进度条倒计时动画特效代码【推荐】
2016/03/08 HTML / CSS
ToysRus日本官网:玩具反斗城
2018/09/08 全球购物
英国发展最快的在线超市之一:Click Marketplace
2021/02/15 全球购物
超市七夕促销活动方案
2014/08/28 职场文书
大学教师个人总结
2015/02/10 职场文书
2015年学生会主席工作总结
2015/04/21 职场文书
工作年限证明模板
2015/06/15 职场文书
酒店工程部的岗位职责汇总大全
2019/10/23 职场文书
Python 数据科学 Matplotlib图库详解
2021/07/07 Python
vue elementUI批量上传文件
2022/04/26 Vue.js
Redis过期数据是否会被立马删除
2022/07/23 Redis