umask()

1. 定义

新创建文件时 UNIX 系统会有一个 umask 掩码,来控制新建文件的访问权限。 例如新建文件/目录时设定了访问权限为最大权限(0777),但由于 umask 的存在(通常是0022),则创建成功后该文件/目录的访问权限则变成了 0755(0777-0022)。

该函数用于设置系统的 umask 掩码的值。如果不传入参数则返回当前 umask 的值。

注:

  • 在多线程服务器上尽量避免使用该函数(容易导致并发程序和服务器发生不可预知的错误),而应该使用chmod()函数来改变其权限
  • 在 Windows 系统中 umask 值始终为 0

2. 语法

umask ([ int $mask ] ) : int

3. 参数说明

参数 可选性 数据类型 描述
$mask 可选 整型 设定的新umask值

4. 示例

<?php

// umask()
// 用于设置系统的 umask 掩码的值

echo '当前系统的mask值为:',umask(),"\n";

umask(22);
echo '当前系统的mask值为:',umask(),"\n";