posix_access

(PHP 5 >= 5.1.0, PHP 7)

posix_access Определяет доступность файла

Описание

posix_access ( string $file [, int $mode = POSIX_F_OK ] ) : bool

Функция posix_access() проверяет права пользователя на доступ к файлу.

Список параметров

file

Путь к проверяемому файлу.

mode

Маска, состоящая из одной или более констант: POSIX_F_OK, POSIX_R_OK, POSIX_W_OK или POSIX_X_OK.

POSIX_R_OK, POSIX_W_OK и POSIX_X_OK проверяют существование и доступность файла на чтение, запись и выполнение. POSIX_F_OK проверяет только существование файла.

Возвращаемые значения

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Примеры

Пример #1 Пример использования posix_access()

В данном примере проверяется доступность файла на чтение и запись, в противном случае выводится сообщение об ошибке.

<?php

$file 
'some_file';

if (
posix_access($filePOSIX_R_OK POSIX_W_OK)) {
    echo 
'Файл доступен на чтение и запись!';

} else {
    
$error posix_get_last_error();

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

?>

Примечания

Замечание: Когда опция safe mode включена, PHP проверяет, имеют ли файлы/каталоги, с которыми вы собираетесь работать, такой же UID (владельца), как и выполняемый скрипт.

Смотрите также

  • posix_get_last_error() - Возвращает номер ошибки, которая произошла в последней posix функции, завершившейся неудачей
  • posix_strerror() - Возвращает системное сообщение об ошибке, основываясь на полученном номере ошибки

add a note add a note

User Contributed Notes 1 note

up
0
unixguy at earth dot com
4 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