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
}

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

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

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

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

原文地址:https://www.cnblogs.com/geek12/p/4215569.html