(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.
fileThe 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.
       
   Returns TRUE on success or FALSE on failure.
  
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: When safe mode is enabled, PHP checks whether the files or directories being operated upon have the same UID (owner) as the script that is being executed.