umask

umask 指定当前用户在新建文件或目录时候的权限默认值
umask 有四个数字, 第一个为特殊权限, 一般不予考虑, 后三个与一般权限有关
umask 设置的值为 需要减掉的权限

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
/**
* umask(0) 0取反再创建文件时权限相与,也就是:(~0) & mode 等于八进制的值0777 & mode了
*
* 创建文件:默认没有x权限,只有r、w权限, 最大为666 -rw-rw-rw-
* 创建目录:最大为777, drwxrwxrwx
*/
umask(0);
// test.txt 文件权限为 666
file_put_contents('test.txt', 'test');
// test 目录权限为 777
mkdir('test');

/**
* umask(0022) - 用户组和其它组减去 w 权限, 即创建的文件权限为 644 -rw-r--r-- , 创建的目录权限为 755 drwxr-xr-x
*/
umask(0);
// test.txt 文件权限为 644
file_put_contents('test.txt', 'test');
// test 目录权限为 755
mkdir('test');
0%