PHP创建多级文件夹

php函数中自带mkdir就可以创建文件夹,但是只能创建一级目录。如果创建aa/bb/cc多级目录,是不支持的。

第一种PHP创建文件夹(用mkdirs来产生多级父级)

function mkdirs($dir, $mode = 0777) {
	if (! is_dir ( $dir )) {
		if (! mkdirs ( dirname ( $dir ) )) {
			return false;
		}
		if (! mkdir ( $dir, $mode )) {
			return false;
		}
	}
	return true;
}

基本思路:1.判断文件夹是否存在

      2.不存在时递归查询其父目录是否存在。

        3.逐级创建文件夹

dirname函数可以查找传入路径的父目录

方法2

function create_folders($dir) {
	return is_dir ( $dir ) or (create_folders ( dirname ( $dir ) ) and mkdir ( $dir, 0777 ));
}
原理相同,注意 选择性语法:可以直接用or,and实现

第二种php创建文件夹(用新的参数来产生多级父级)
用PHP5中自带的mkdir 中的一个新的参数 recursive ,通过设置 recursive 为 true 可以实现递归创建目录的目的,但是对PHP4就不行了。

mkdir("aa/bb/cc",0777,true);

事实证明还是升级php版本较好,对于许多通用方法都进行了实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值