ConFoo 2025

posix_access

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

posix_access Determina a acessibilidade de um arquivo

Descrição

posix_access(string $filename, int $flags = 0): bool

posix_access() verifica as permissões de usuário a um arquivo.

Parâmetros

filename

O nome do arquivo a ser verificado.

flags

Uma máscara de bits consistindo em uma ou mais das constantes POSIX_F_OK, POSIX_R_OK, POSIX_W_OK e POSIX_X_OK.

POSIX_R_OK, POSIX_W_OK e POSIX_X_OK solicitam a verificação da existência do arquivo e se ele tem permissões de leitura, escrita e execução, respectivamente. POSIX_F_OK apenas solicita a verificação da existência do arquivo.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Exemplos

Exemplo #1 Exemplo de posix_access()

Este exemplo verifica que o arquivo $file tem permissão de leitura e escrita, caso contrário exibe uma mensagem de erro.

<?php

$file
= 'algum_arquivo';

if (
posix_access($file, POSIX_R_OK | POSIX_W_OK)) {
echo
'O arquivo pode ser lido e escrito!';

} else {
$error = posix_get_last_error();

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

?>

Veja Também

  • posix_get_last_error() - Recupera o número do erro definido pela última função posix que falhou
  • posix_strerror() - Recupera a mensagem de erro do sistema associada ao número de erro fornecido

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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