chmod()

1. 定义

该函数试图修改指定文件的访问权限。 成功时返回TRUE,失败则返回FALSE。

2. 语法

chmod ( string $filepath , int $mode ) : bool

3. 参数说明

参数 可选性 数据类型 描述
$filepath 必需 字符串 指定的文件所在路径
$mode 必需 整型 访问权限值

其中访问权限值通常有四位数字组成:

  • 第一个数字通常为0
  • 第二位数字表示该文件所有者的权限
  • 第三位数字表示该文件所有者所在组的权限
  • 第四位数字表示其余所有用户的权限

而权限值在Unix系统中只有三种,分别有不同的值,如下:

  • 执行权限:1
  • 写入权限:2
  • 读取权限:4

如果有多种权限,则将权限值进行相加:例如某文件拥有最大权限,其权限值即为0777(07(1+2+4)7(1+2+4)7(1+2+4))。

4. 示例

<?php

// chmod()
// 修改指定文件的访问权限

$filepath = __FILE__;
echo '此时文件的权限值为:',stat($filepath)['mode'],"\n";// 输出:此时文件的权限值为:33206

$mode = 0755;
$res = chmod($filepath, $mode);

if($res) {
    echo '此时文件的权限值为:',stat($filepath)['mode'],"\n";
} else {
    echo '修改文件权限失败!';
}
// 输出:此时文件的权限值为:33206

5. 延展阅读

  • chown():试图修改指定文件的所有者 ID
  • chgrp():试图修改指定文件的所有者所在组的 ID
  • fileperms():获取指定文件的十进制权限值
  • stat():返回一个文件的所有统计信息