PHP | chmod 函数
Lasted 2020-12-17 19:26:03
chmod 函数修改文件权限,如设置文件为只读。
函数接收两个参数,其中 mode 为 int 类型,需要八进制格式整型,可使用 octdec() 函数把 int 转 oct。
函数定义
chmod(string $filename, int $mode):bool
// 源文件位于:ext/standard/filestat.c
# 函数定义
PHP_FUNCTION(chmod)
{
...
php_error_docref(NULL, E_WARNING, "Can not call chmod() for a non-standard stream");
...
ret = VCWD_CHMOD(filename, imode);
if (ret == -1) {
php_error_docref(NULL, E_WARNING, "%s", strerror(errno));
RETURN_FALSE;
}
RETURN_TRUE;
}
参数
- checkfilename -文件路径,不能是网络路径。
- checkmode -权限值。必须输入八进制格式或字符串形式,如 0600 表示所有者可读写。
返回值
- checkbool - 成功时返回 TRUE,或者在失败时返回 FALSE。
如果文件是远程文件,函数返回 false,抛 Can not call chmod() for a non-standard stream 警告。如果当前执行 PHP 的用户不满足系统的文件权限限制,会操作失败。
示例1: - 使用 chmod() 函数设置文件权限信息。
<?php
/**
* PHP 使用 chmod() 函数设置文件权限。
*
* @since Version 1.0.0
* @filesource
*/
// 设置文件所有者可读写
chmod("./foo.txt", 0600);
// 设置文件所有者可读写,其他用户可读
chmod("./foo.txt", 0644);
// 设置文件所有用户可读写和执行
chmod("./foo.txt", 0755);
// 等同于上面的功能
chmod("./foo.txt", octdec(755));