我使用mkdir()
分配目录权限。但我不能通过硬编码来传递文件权限。相反,我从配置文件获取文件权限,并且读取该文件的函数返回的值是字符串格式。我知道如果将0755作为字符串传递,则不会将其视为八进制数。
所以我这样做
mkdir($dirPath, (int)base_convert(env("FILE_ACCESS", "0766"), 8, 10), true);
函数env返回存储在配置文件中的值。但是,如果配置文件中没有定义权限,则只返回字符串"0766"
。
但是在目录上设置的权限是0744。
$originalUmask = umask(0); // sets umask to 0 and return original
// do your mkdir here
umask($originalUmask); // back to safe again ;)