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