php mkdir 创建多级目录以及修改权限
mkdir() 用法:mkdir($path,0777,true);
第一个参数:必须,代表要创建的多级目录的路径;
第二个参数:设定目录的权限,默认是 0777,意味着最大可能的访问权;注意:mode 在windows下被忽略
第三个参数:true表示允许创建多级目录。
返回值:成功时返回true,失败时返回false
其他相关函数:is_dir 判断给定文件名是否是一个目录,rmdir() 删除目录
举例:
<?php //要创建的多级目录 $path="php/php1/php2"; //判断目录存在否,存在给出提示,不存在则创建目录 if (!is_dir($path)){ //第三个参数是“true”表示能创建多级目录 $res=mkdir($path,0777,true); if ($res){ echo "success"; }else{ echo "fail"; } } ?>
在linux(ubuntu)系统中执行上述代码后,实际创建的文件权限为755,原因是在 linux 系统中在创建 文件/文件夹 时有一个默认权限,此权限受 umask 设置影响,linux 系统中默认的 umask 为 022,与 777 & 运算之后,就变成了 755。
解决方案:
先创建目录,再使用chmod将权限修改为 777:
<?php $path = 'php/php1/php2'; if(!is_dir($path)){ mkdir($path, 0777, true); chmod($path, 0777); } ?>