posix_access

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

posix_access Determine accessibility of a file

Description

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

posix_access() checks the user's permission of a file.

Parameters

filename

The name of the file to be tested.

flags

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.

Return Values

Returns true on success or false on failure.

Examples

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);
}

?>

Notes

See Also

add a note add a note

User Contributed Notes 1 note

up
-1
unixguy at earth dot com
10 years ago
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.
To Top