posix_access
(PHP 5 >= 5.1.0, PHP 7)
posix_access — Определяет доступность файла
Описание
$file
[, int $mode
= POSIX_F_OK
] )Функция 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($file, POSIX_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() - Возвращает системное сообщение об ошибке, основываясь на полученном номере ошибки
- PHP Руководство
- Функции по категориям
- Индекс функций
- Справочник функций
- Расширения для управления процессами программ
- POSIX
- posix_access
- posix_ctermid
- posix_errno
- posix_get_last_error
- posix_getcwd
- posix_getegid
- posix_geteuid
- posix_getgid
- posix_getgrgid
- posix_getgrnam
- posix_getgroups
- posix_getlogin
- posix_getpgid
- posix_getpgrp
- posix_getpid
- posix_getppid
- posix_getpwnam
- posix_getpwuid
- posix_getrlimit
- posix_getsid
- posix_getuid
- posix_initgroups
- posix_isatty
- posix_kill
- posix_mkfifo
- posix_mknod
- posix_setegid
- posix_seteuid
- posix_setgid
- posix_setpgid
- posix_setrlimit
- posix_setsid
- posix_setuid
- posix_strerror
- posix_times
- posix_ttyname
- posix_uname
Коментарии
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.