zoukankan      html  css  js  c++  java
  • 递归创建目录与删除目录

    递归创建级联目录,递归删除级联目录,例如:./a/b/c/d/e

    <?php
    //递归创建目录
    function mk_dir($path){
        //判断目录是否存在
        if(is_dir($path)){
            return true;
        }
        //如果父目录存在,则直接创建
        if(is_dir(dirname($path))){
            mkdir($path);
            return true;
        }
        //如果父目录不存在,则递归
        mk_dir(dirname($path));
        //父目录已存在,则返回创建该子目录
        return mkdir($path);
    }
    echo mk_dir('./a/b/f/d/sa/as')?'ok':'fail';
    //第二种方式:难理解
    function printpath($path){
        if(is_dir($path)){
            return true;
        }
        // 父目录存在或你帮我创建父目录,再创建子目录
        return is_dir(dirname($path))||printpath(dirname($path))?mkdir($path):false;
    }
    echo printpath('./b/as/ds')?'OK':'FAIL';
    //函数递归创建目录mkdir(目录,权限默认0777,是否递归创建);
    mkdir('./aa/bb/cc',0777,true);
    
    
    //递归删除目录
    function deldir($path){
        //如果不是目录,直接返回
        if(!is_dir($path)){
            return null;
        }
        //打开目录
        $dh=opendir($path);
        while(($row=readdir($dh))!==false){
            if($row=='.'||$row=='..'){
                continue;
            }
            //判断是否是普通文件
            if(!is_dir($path.'/'.$row)){
               unlink($path.'/'.$row); 
            }else{
                deldir($path.'/'.$row);
            }
        }
        closedir($dh);
        rmdir($path);
        return true;
    }
    echo deldir('./aa')?'删了':'出错了';
    ?>
    
  • 相关阅读:
    简单的JAVAWeb选课系统
    公文流转系统001
    第九周动手动脑
    JAVA文件操作
    动手动脑-异常处理
    个人NABCD
    水王(课堂作业)
    软件学习进度表07
    软件工程学习进度表06
    软件工程个人作业05(二维数组求最大子数组的和)
  • 原文地址:https://www.cnblogs.com/lzzhuany/p/4757163.html
Copyright © 2011-2022 走看看