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_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($file, POSIX_R_OK | POSIX_W_OK)) {
echo
'Файл доступен на чтение и запись!';

} else {
$error = posix_get_last_error();

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

?>

Примечания

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

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

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