在php中用递归的方式创建多级目录(解决多级目录无法直接创建的问题)
2014-03-29 23:31
661 查看
通常在php中创建一个新目录所使用的函数是mkdir();(mkdir()说明请点击:mkdir())
但是这个函数存在的一个问题就是没有办法直接创建多级目录,也就是说如果你需要创建一个多级目录的时候,最直接但是最麻烦的方法就是一级一级的去创建目录。比如,要创建a/b/c,就需要先创建a,在创建a/b,再创建a/b/c。
但是很明显,这个方法是很麻烦的,所以我们可以采用递归的方式来创建,具体代码如下(该代码实现在该php文件所在的路径下创建多级目录a/b/c):
其中,还是用到一个php函数时dirname(),用于返回当前目录的上一级目录(具体说明请点击:dirname())
同样,可以用rmdir() 和 dir->read() 递归解决删除多级目录的问题。
但是这个函数存在的一个问题就是没有办法直接创建多级目录,也就是说如果你需要创建一个多级目录的时候,最直接但是最麻烦的方法就是一级一级的去创建目录。比如,要创建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() 递归解决删除多级目录的问题。
相关文章推荐
- FileObserver递归监听目录(解决无法监听目录的创建、删除问题)
- php linux下无法创建777权限目录的问题
- 解决solaris /home无法创建目录问题
- 解决活动目录无法创建用户的问题
- 解决Inno Setup制作安装包无法创建桌面快捷方式的问题
- 解决Linux无法创建新用户和/home目录下无法创建新目录的问题
- 解决Solaris /home目录下无法创建目录问题
- 无法创建目录或文件问题的解决办法
- php递归创建多级目录
- 递归创建多级文件目录(PHP)
- 解决wordpress下载插件,安装失败,无法创建目录问题
- 解决windows下目录递归太深无法删除的问题
- 解决wordpress下载插件,安装失败,无法创建目录问题
- PHP判断文件夹是否存在和创建文件夹的方法(递归创建多级目录)
- 解决Inno Setup制作安装包无法创建桌面快捷方式的问题
- ueditor上传图片时目录创建失败的问题解决方法,不用那么麻烦,其实修改php/config.json这个配置文件里面的路径就行!!
- php 创建多级目录 非递归
- [置顶] android,解决手动创建的桌面快捷方式无法跳转到制定的activity的问题,提示未安装应用程序
- 递归方式创建目录树(多级目录)
- PHP递归创建多级目录