首页 > 其他 > 详细

用mkdir()创建多层目录

时间:2015-04-11 19:31:54      阅读:277      评论:0      收藏:0      [点我收藏+]

使用mkdir()函数直接创建目录时,只能一层一层目录的依次创建,如果父级目录不存在,使用mkdir()会报错:mkdir(): No such file or directory

所以最好自己封装函数来递归创建层级目录:


基本思路:从下向上层级递归操作:

步骤一,判断底层目录是否存在,存在时不操作直接返回true,否则进入第二步骤

步骤二,判断父级目录是否存在,不存在时一直递归本函数操作父级目录(获取返回值如果为true代表父级目录已存在或者已经创建成功,可接着创建当前目录),存在就创建当前目录(创建成功时返回true,失败时返回false)


function createDir($path){
	if(!is_dir($path)){//要创建的当前目录不存在时
		if(!createDir(dirname($path))){
		//递归确认父级及以上层级目录存在或创建父级及以上层级目录,如果出现异常返回false
			return false;
		}
		
		if(mkdir($path,0777)){//通过上面的递归已经确认父级目录存在了,可以创建当前目录
			file_put_contents($path."/index.html","");//创建目录成功时添加index文件防止匿名访问网站目录
		}else{
			return false;//创建目录出现异常时,返回false
		}		
	}	
	return true;//当前目录存在了返回true
}

类似思路的另外一种简单写法:

function createDir($path){
	if(!file_exits($path)){
		createDir(dirname($path));
		mkdir($path,0777);
		file_put_contents($path."/index.html","");
	}
}






用mkdir()创建多层目录

原文:http://blog.csdn.net/jo_andy/article/details/44983681

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!