PHP 文件函数

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');
}
?>