您的位置:首页网页设计PHP技巧 → 如何删除多级目录

如何删除多级目录

时间:2004/11/7 3:15:00来源:本站整理作者:蓝点我要评论(0)

昨天看见一个贴子(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;

}  




相关阅读 Mac访问Windows共享文件夹Windows 7正版系统验证方法windows 8.1系统版本号查看方法Windows 8.1系统电话激活时无法输入微软返回代码解决方法Windows 8如何调整屏幕分辨率windows8.1磁盘占用100%解决方法Mac双系统如何删除Boot Camp安装的Windows分区Apple教你如何在Mac 上运行 Windows

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 如何恢复Discuz!7.0被 CSS实现Tab技巧Linux配置DHCP服务器实例:linux配置教程如何在IIS7下设置支持PHP程序PHP技巧--通过COM使用ADODB

人气排行 dedecms数据库表和字段说明最小化数据传输——在客户端存储数据php如何自动跳转中英文页面如何在IIS7下设置支持PHP程序php批量获取首字母(汉字、数字、英文)经典php实现大文件上传源代码Windows环境PHP的session不能正常使用解决办PHP聊天室技术