如何删除多级目录


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获取当前网址url并替换参数或网址的方法
Jun 06 PHP
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
Jun 27 PHP
php cc攻击代码与防范方法
Oct 18 PHP
php简单浏览目录内容的实现代码
Jun 07 PHP
DOM XPATH获取img src值的query
Sep 23 PHP
Codeigniter实现智能裁剪图片的方法
Jun 12 PHP
PHP模板解析类实例
Jul 09 PHP
Laravel与CI框架中截取字符串函数
May 08 PHP
PHP二维数组去重实例分析
Nov 18 PHP
关于PHP内置的字符串处理函数详解
Feb 04 PHP
highchart数据源纵轴json内的值必须是int(详解)
Feb 20 PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 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
盘点被央视点名过的日本动画电影 一部比一部强
2020/03/08 日漫
用PHP查询域名状态whois的类
2006/11/25 PHP
Windows7下PHP开发环境安装配置图文方法
2010/05/20 PHP
解析如何在PHP下载文件名中解决乱码的问题
2013/06/20 PHP
php实现Mongodb自定义方式生成自增ID的方法
2015/03/23 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
js阻止冒泡及jquery阻止事件冒泡示例介绍
2013/11/19 Javascript
jQuery之ajax删除详解
2014/02/27 Javascript
javascript下拉框选项单击事件的例子分享
2015/03/04 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
每个程序员都需要学习 JavaScript 的7个理由小结
2016/09/03 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
DropDownList控件绑定数据源的三种方法
2016/12/24 Javascript
js实现适配不同的屏幕大小
2017/04/10 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
JavaScript简单实现动态改变HTML内容的方法示例
2018/12/25 Javascript
jQuery AJAX与jQuery事件的分析讲解
2019/02/18 jQuery
Python列表list数组array用法实例解析
2014/10/28 Python
使用python实现简单五子棋游戏
2019/06/18 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
python构建指数平滑预测模型示例
2019/11/21 Python
python 使用while循环输出*组成的菱形实例
2020/04/12 Python
浅析Python 条件控制语句
2020/07/15 Python
python如何快速生成时间戳
2020/07/21 Python
python打包生成so文件的实现
2020/10/30 Python
威尔逊皮革:Wilsons Leather
2018/12/07 全球购物
大学自荐信
2013/12/12 职场文书
揭牌仪式主持词
2014/03/19 职场文书
班级团队活动方案
2014/08/14 职场文书
党的群众路线教育实践活动领导班子整改方案
2014/10/25 职场文书
考试没考好检讨书(精选篇)
2014/11/16 职场文书
测量员岗位职责
2015/02/14 职场文书
行政复议决定书
2015/06/24 职场文书
Python标准库之typing的用法(类型标注)
2021/06/02 Python