如何删除多级目录


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 相关文章推荐
linux php mysql数据库备份实现代码
Mar 10 PHP
深入PHP数据缓存的使用说明
May 10 PHP
PHP读取RSS(Feed)简单实例
Jun 12 PHP
php从memcache读取数据再批量写入mysql的方法
Dec 29 PHP
php实现的任意进制互转类分享
Jul 07 PHP
PHP使用token防止表单重复提交的方法
Apr 07 PHP
CI框架整合widget(页面格局)的方法
May 17 PHP
关于php中的json_encode()和json_decode()函数的一些说明
Nov 20 PHP
php Session无效分析资料整理
Nov 29 PHP
PHP 搜索查询功能实现
Nov 29 PHP
详解PHP安装mysql.so扩展的方法
Dec 31 PHP
php删除数组指定元素实现代码
May 03 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处理restful请求的路由类分享
2014/02/27 PHP
Symfony页面的基本创建实例详解
2015/01/26 PHP
PHP获取文件扩展名的常用方法小结【五种方式】
2018/04/27 PHP
PHP实现常用排序算法的方法
2020/02/05 PHP
基于jquery的大众点评,分类导航实现代码
2011/08/23 Javascript
js调试系列 初识控制台
2014/06/18 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
如何实现移动端浏览器不显示 pc 端的广告
2015/10/15 Javascript
检查表单元素的值是否为空的实例代码
2016/06/16 Javascript
AngularJS基础 ng-if 指令用法
2016/08/01 Javascript
js闭包用法实例详解
2016/12/13 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
基于vue打包后字体和图片资源失效问题的解决方法
2018/03/06 Javascript
如何从0开始用node写一个自己的命令行程序
2018/12/29 Javascript
[47:38]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
[38:31]完美世界DOTA2联赛PWL S3 Magma vs GXR 第一场 12.13
2020/12/17 DOTA
Python实现图像几何变换
2015/07/06 Python
使用Python的Flask框架来搭建第一个Web应用程序
2016/06/04 Python
详解python之简单主机批量管理工具
2017/01/27 Python
Django网络框架之创建虚拟开发环境操作示例
2019/06/06 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
python-numpy-指数分布实例详解
2019/12/07 Python
Python发送手机动态验证码代码实例
2020/02/28 Python
Python定义函数实现累计求和操作
2020/05/03 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
全球摩托车装备领导者:RevZilla
2017/09/04 全球购物
DOUGLAS荷兰:购买香水和化妆品
2020/10/24 全球购物
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
优秀毕业生推荐信范文
2014/03/07 职场文书
成语的广告词
2014/03/19 职场文书
暑期培训班招生方案
2014/08/26 职场文书
家长评语怎么写
2014/12/30 职场文书
答谢词范文
2015/01/05 职场文书
工作会议通知
2015/04/15 职场文书
Java 语言中Object 类和System 类详解
2021/07/07 Java/Android