php创建多级目录

我们都知道使用php的mkdir创建类似"a/b/c"这种多层目录的文件夹会提示因目录不存在而创建失败,但项目中又经常会碰到这种需要创建多级目录的情况,那该如何办呢?反正mkdir是行不通了的,有其他的办法吗?当然是有的,下面就看几种利用php创建多级目录的解决办法。

(1)其实使用mkdir是可以创建多级目录的,不过必须在PHP5下才可以使用该函数创建多级目录。因为PHP5对创建目录函数 mkdir 增加了一个新的参数 recursive ,通过设置 recursive 为 true 可以实现递归创建目录的目的,但是这个在PHP4环境下是行不通的,例如:


mkdir('a/b/c',0777,true);

mkdir函数原型:bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context ]]] )

php函数mkdir参数描述
 
  path 必需。规定要创建的目录的名称。
 
  mode 必需。规定权限。默认是 0777。
 
  recursive 必需。规定是否设置递归模式。
 
  context 必需。规定文件句柄的环境。Context 是可修改流的行为的一套选项。

(2)自己写一个函数来实现php创建多级目录的办法


functionmkdirs($dir,$mode=0777){

    if(is_dir($dir)||@mkdir($dir,$mode)){

        returntrue;

    }

    if(!mkdirs(dirname($dir),$mode)){

        returnfalse;

    }

    return@mkdir($dir,$mode);

}

(3)自己写的一个非常精简的php创建多级目录的方法


functionmkdirs($dir){

    returnis_dir($dir)or(mkdirs(dirname($dir))andmkdir($dir,0777));

}

以上自定义函数不一一作解释,自己理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值