PHP 8.4.0 RC4 available for testing

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() - Возвращает системное сообщение об ошибке, основываясь на полученном номере ошибки

Добавить

Примечания пользователей 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