• 技术文章 >后端开发 >php教程

    PHP下用rmdir实现删除目录的三种方法小结_php技巧

    2016-05-17 09:37:21原创486
    1、递规法:利用递归一层一层的删。
    复制代码 代码如下:

    deleteDir($dir)
    {
    if (rmdir($dir)==false && is_dir($dir)) {
    if ($dp = opendir($dir)) {
    while (($file=readdir($dp)) != false) {
    if (is_dir($file) && $file!='.' && $file!='..') {
    deleteDir($file);
    } else {
    unlink($file);
    }
    }
    closedir($dp);
    } else {
    exit('Not permission');
    }
    }
    }

    2、系统调用法
    复制代码 代码如下:

    function del_dir($dir)
    {
    if(strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') {
    $str = "rmdir /s/q " . $dir;
    } else {
    $str = "rm -Rf " . $dir;
    }
    }

    3、循环法
    复制代码 代码如下:

    function deltree($pathdir)
    {
    echo $pathdir;//调试时用的
    if(is_empty_dir($pathdir))//如果是空的
    {
    rmdir($pathdir);//直接删除
    }
    else
    {//否则读这个目录,除了.和..外
    $d=dir($pathdir);
    while($a=$d->read())
    {
    if(is_file($pathdir.'//m.sbmmt.com/m/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'//m.sbmmt.com/m/'.$a);}
    //如果是文件就直接删除
    if(is_dir($pathdir.'//m.sbmmt.com/m/'.$a) && ($a!='.') && ($a!='..'))
    {//如果是目录
    if(!is_empty_dir($pathdir.'//m.sbmmt.com/m/'.$a))//是否为空
    {//如果不是,调用自身,不过是原来的路径+他下级的目录名
    deltree($pathdir.'//m.sbmmt.com/m/'.$a);
    }
    if(is_empty_dir($pathdir.'//m.sbmmt.com/m/'.$a))
    {//如果是空就直接删除
    rmdir($pathdir.'//m.sbmmt.com/m/'.$a);
    }
    }
    }
    $d->close();
    echo "必须先删除目录下的所有文件";//我调试时用的
    }
    }
    function is_empty_dir($pathdir)
    {
    //判断目录是否为空
    $d=opendir($pathdir);
    $i=0;
    while($a=readdir($d))
    {
    $i++;
    }
    closedir($d);
    if($i>2){return false;}
    else return true;
    }
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:PHP 删除目录
    上一篇:php设计模式介绍之编程惯用法 下一篇:awk简介与学习笔记收集_php文摘
    Web大前端开发直播班

    相关文章推荐

    • php foreach 参数强制类型转换的问题_php技巧• PHP 生成的XML以FLASH获取为乱码终极解决_php技巧• php 验证码制作(网树注释思想)_php技巧• 说明的比较细的php 正则学习实例_php技巧• PHP5.0对象模型探索之抽象方法和抽象类_php基础

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网