在php中用递归的方式创建多级目录(解决多级目录无法直接创建的问题)

通常在php中创建一个新目录所使用的函数是mkdir();(mkdir()说明请点击:mkdir()

但是这个函数存在的一个问题就是没有办法直接创建多级目录,也就是说如果你需要创建一个多级目录的时候,最直接但是最麻烦的方法就是一级一级的去创建目录。比如,要创建a/b/c,就需要先创建a,在创建a/b,再创建a/b/c。

但是很明显,这个方法是很麻烦的,所以我们可以采用递归的方式来创建,具体代码如下(该代码实现在该php文件所在的路径下创建多级目录a/b/c):

其中,还是用到一个php函数时dirname(),用于返回当前目录的上一级目录(具体说明请点击:dirname()

<?php
function mk_ndir($dir)  
{  
if(!is_dir($dir))//检测当前集的目录是否存在,如果存在,返回true  
{//若当前目录不存在  
if(!mk_ndir(dirname($dir))){//首先递归建立当前目录的上级目录  
return false;  
}  
if(!mkdir($dir,0777)){//之后建立当前目录  
return false;  
}  
}  
return true;  
}  
mk_ndir('a/b/c');//调用函数创建多级目录  
?>

同样,可以用rmdir() 和 dir->read()  递归解决删除多级目录的问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值