zoukankan      html  css  js  c++  java
  • php递归创建目录

    /**
     * 递归创建目录
     * @param  [string] $path [创建的目录]
     * @return [type]       [description]
     */
    function mk_Dir($path){
    	// 如果目录存在返回 ture
    	if(is_dir($path)){
    		return true;
    	}
    	// 如果上级目录存在 创建目录
    	if(is_dir(dirname($path))){
    		return mkdir($path);
    	}
    	// 递归 查找父目录
    	mk_Dir(dirname($path));
    	return mkdir($path);
    }
    
    function mk_Dir($path){
    	// 目录存在返回 ture
    	if(is_dir($path)){
    		return true;
    	}
    	// 父目录存在 或 递归找到父目录,创建目录
    	return is_dir(dirname($path)) || mk_Dir(dirname($path)) ? mkdir($path) : "false";
    }
    
    /**
     * 迭代创建目录(我理解的迭代就是从最小积累到最大的过程)
     * @param  [string] $path [创建目录名]
     * @return [type]       [description]
     */
    function mk_dir($path){
    	$arr = array();
    	// 将目录分解存入数组
    	while(!is_dir($path)){
    		array_unshift($arr,$path); // 把元素 插入数组头部
    		$path = dirname($path);
    	}
    	if(empty($arr)){
    		return ture;
    	}
    	foreach($arr as $v){
    		mkdir($v);
    	}
    }
    

     在php5 以后可以使用 mkdir第三个参数,递归创建目录 mkdir("目录名",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; // 会在页面上输出1
    }
    

    如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐]

    如果您想转载本博客,请注明出处

    如果您对本文有意见或者建议,欢迎留言

    感谢您的阅读,请关注我的后续博客

  • 相关阅读:
    二分查找(Binary Search)的几种变种形式
    深入理解jvm虚拟机读书笔记-垃圾收集器与内存分配策略(二)
    深入理解jvm虚拟机读书笔记-垃圾收集器与内存分配策略(一)
    Java8函数式编程
    Spring DBUnit 插入数据的时候如何处理自增ID
    IDEA Debug 技巧总结
    声明
    Mybatis最详细笔记
    关于jdbc概述
    SpringAOP(动态代理)
  • 原文地址:https://www.cnblogs.com/geek12/p/4215569.html
Copyright © 2011-2022 走看看