PHP Conference Japan 2024

posix_access

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

posix_access确定文件的可访问性

描述

posix_access(string $filename, int $flags = 0): bool

posix_access() 检查用户对文件的权限。

参数

filename

要测试的文件名。

flags

一个掩码,由一个或多个 POSIX_F_OKPOSIX_R_OKPOSIX_W_OKPOSIX_X_OK 组成。

POSIX_R_OKPOSIX_W_OKPOSIX_X_OK 分别请求检查文件是否存在以及是否具有读、写和执行权限。POSIX_F_OK 只请求检查文件是否存在。

返回值

成功时返回 true,失败时返回 false

示例

示例 #1 posix_access() 示例

此示例将检查 $file 是否可读和可写,否则将打印错误消息。

<?php

$file
= 'some_file';

if (
posix_access($file, POSIX_R_OK | POSIX_W_OK)) {
echo
'The file is readable and writable!';

} else {
$error = posix_get_last_error();

echo
"Error $error: " . posix_strerror($error);
}

?>

参见

添加注释

用户贡献的注释 1 条注释

unixguy at earth dot com
10 年前
需要注意的是,此函数根据运行 PHP 的进程的真实 UID 和真实 GID 执行访问检查。这些不一定与有效 UID 和 GID 相同。

换句话说,access() 可能会针对特定权限返回“true”,但需要相同权限的 fopen() 操作可能会失败,反之亦然。

如果您将 access() 用于此类检查,请记住这一点。
To Top