©
本文档使用 PHP中文网手册 发布
(PHP 5 >= 5.1.0)
posix_access — Determine accessibility of a file
$file
[, int $mode
= POSIX_F_OK
] )posix_access() checks the user's permission of a file.
file
The name of the file to be tested.
mode
A mask consisting of one or more of POSIX_F_OK
,
POSIX_R_OK
, POSIX_W_OK
and
POSIX_X_OK
.
POSIX_R_OK
, POSIX_W_OK
and
POSIX_X_OK
request checking whether the file
exists and has read, write and execute permissions, respectively.
POSIX_F_OK
just requests checking for the
existence of the file.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
Example #1 posix_access() example
This example will check if the $file is readable and writable, otherwise will print an error message.
<?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 );
}
?>
Note: 当启用 安全模式时, PHP 会检查被操作的文件或目录是否与被执行的脚本有相同的 UID(所有者)。
[#1] unixguy at earth dot com [2014-06-12 20:00:34]
It should be noted that this function performs access checks based on the real UID and real GID of the process running PHP. These aren't necessarily the same as the effective UID and GID.
In other words, it may well be that access() returns ??true?? for a particular permission, but an fopen() operation which requires the same permission will fail, and vice versa.
Keep that in mind if you use access() for such checks.