CakeFest 2024: The Official CakePHP Conference

posix_access

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

posix_accessErmittelt die Zugriffsberechtigungen einer Datei

Beschreibung

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

posix_access() überprüft, welche Zugriffsberechtigungen der Benutzer für eine Datei hat.

Parameter-Liste

filename

Der Name der zu überprüfenden Datei.

flags

Eine Maske, die aus einer oder mehr der Konstanten POSIX_F_OK, POSIX_R_OK, POSIX_W_OK und POSIX_X_OK besteht.

POSIX_R_OK, POSIX_W_OK und POSIX_X_OK fordern eine Überprüfung an, ob die Datei existiert und ob dafür Lese-, Schreib-, bzw. Ausführungsrechte vorliegen. POSIX_F_OK fordert nur eine Überprüfung der Existenz der Datei an.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Beispiele

Beispiel #1 posix_access()-Beispiel

Dieses Beispiel überprüft, ob $datei gelesen und geschrieben werden darf, und gibt andernfalls eine Fehlermeldung aus.

<?php

$datei
= 'irgendeine_datei';

if (
posix_access($file, POSIX_R_OK | POSIX_W_OK)) {
echo
'Die Datei darf gelesen und geschrieben werden!';

} else {
$fehler = posix_get_last_error();

echo
"Fehler $fehler: " . posix_strerror($fehler);
}

?>

Anmerkungen

Siehe auch

  • posix_get_last_error() - Liefert die von der letzten fehlgeschlagenen Posix-Funktion gesetzte Fehlernummer
  • posix_strerror() - Liefert die System-Fehlermeldung, die zur angegebenen Fehlernummer gehört

add a note

User Contributed Notes 1 note

up
-1
unixguy at earth dot com
9 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