php:自动创建多级文件夹

<?php

/**
 * 函数说明
 * is_dir:判断给定文件名是否是一个目录,如果是返回ture,如果不是返回false
 * dirname:返回路径中的目录部分,本函数返回去掉文件名后的目录名.比如$path="a/b/c";那么dirname($path)="a/b"
 * mkdir:尝试新建一个由 pathname 指定的目录。mkdir(string pathname [,int mode]),默认的 mode 是 0777,意味着最大可能的访问权
 * 解释一下自动创建文件夹:
 * creatdir("a/b/c/d/e/f")//调用创建函数
 * 首先判断整个目录是不是文件夹(或者说是不是存在),如果存在,返回真,则返回,不执行,如果不存在.则继续
 * 不存在,判断其去掉最后目录名的是否存在:creatdir(dirname($path)):调用自身创建函数判断,如果存在则继续,创建$path
 * 如果不存在,则再次去掉最后目录名,继续判断....直到最后判断a,
 * 到了文件所在文件夹,首先判断是否是文件夹,是:返回ture,返回上一级creatdir(dirname($path)),判断/成功,
 * 则创建$path,/a/.mkdir($path,0777);返回真,
 * 再次返回上一级creatdir(dirname($path)),判断/a/成功,则创建/a/b/ .....依次类推.创建,最后返回ture.
 * @param string $path
 * @return boolean
 */
function creatdir( $path ) {
	if ( !is_dir( $path ) ) {
		if ( creatdir( dirname( $path ) ) ) {
			mkdir( $path, 0777 );
			return true;
		}
	} else {
		return true;
	}
}

// test
creatdir( "a/b/c/d/e/f" );
?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值