PHP mkdir 方法 创建 0777 权限的目录问题

时间:2024-02-21 15:41:46

php 中使用 mkdir() 方法创建 0777 权限的目录:

$path = \'./Logs/secondCheck/\';
if(!is_dir($path)){   mkdir($path, 0777, true); }

 

在 linux (Ubuntu)系统中执行该段代码后,实际创建的文件的权限是 755:

 

原因:在 linux 系统中在创建 文件/文件夹 时有一个默认权限,此权限受 umask 设置影响,linux 系统中默认的 umask 为 022,与 777 & 运算之后,就变成了 755。

解决方案:

先创建目录,再使用chmod将权限修改为 777:

$path = \'./Logs/secondCheck/\';
if(!is_dir($path)){ mkdir($path, 0777, true); chmod($path, 0777); }

此时:

 

参考:http://blog.snsgou.com/post-380.html