PHP umask()
函数 用来修改用户创建目录或文件的时候都会有默认的权限。如果你不了解umask,可以参考Linux umask 详解 。
语法
umask(mask)
参数
参数 说明 必须/可选 mask 指定要修改的mask值。mask为八进制,关于mask该如何设置可以参考Linux umask 详解。 可选
返回值
如果 mask 为 null,umask() 仅返回当前的 umask,有参数则返回原来的 umask。
注意的点
- PHP8.0.0版本 mask 现在可以为 null。
- 在多线程的服务器上尽量避免使用这个函数。创建文件后要改变其权限最好还是使用 chmod()。使用 umask() 会导致并发程序和服务器发生不可预知的情况,因为它们是使用相同的 umask 的。
例子
通过下面的例子了解该函数的使用方法。
<?php
$old = umask(0);
chmod("/path/some_dir/some_file.txt", 0755);
umask($old);
// Checking
if ($old != umask()) {
die('An error occurred while changing back the umask');
}
?>