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版本较好,对于许多通用方法都进行了实现。