posix_access

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

posix_access Détermine l'accessibilité d'un fichier

Description

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

posix_access() vérifie les permissions utilisateurs pour un fichier.

Liste de paramètres

filename

Le nom du fichier à tester.

flags

Un masque constitué d'une ou plusieurs constantes parmi POSIX_F_OK, POSIX_R_OK, POSIX_W_OK et POSIX_X_OK.

POSIX_R_OK, POSIX_W_OK et POSIX_X_OK vérifie si, respectivement, le fichier existe et a les permissions en lecture, écriture et exécution. POSIX_F_OK vérifie uniquement si le fichier existe.

Valeurs de retour

Cette fonction retourne true en cas de succès ou false si une erreur survient.

Exemples

Exemple #1 Exemple avec posix_access()

Cet exemple vérifie si le fichier $file a les permissions en lecture et en écriture, sinon, il affiche un message d'erreur.

<?php

$file
= 'un_fichier';

if (
posix_access($file, POSIX_R_OK | POSIX_W_OK)) {
echo
'Le fichier a les permissions en lecture et en écriture !';

} else {
$error = posix_get_last_error();

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

?>

Voir aussi

  • posix_get_last_error() - Lit le dernier numéro d'erreur généré par la dernière fonction POSIX qui a échoué
  • posix_strerror() - Lit le message d'erreur associé à un numéro d'erreur POSIX

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