Du bist hier: Tips » Scripte » PHP
PHP
Referenzliste

fileperms

Dateisystem-Funktionen

    Befehl:
int fileperms ( string $filename )


    Parameter-Liste:
NameBeschreibung
filenamePfad zu der Datei.

    Rückgabewerte:
Gibt die Zugriffsrechte einer Datei als numerischen Modus, im gleichen Format wie von chmod() erwartet, zurück; Im Fehlerfall wird FALSE zurückgegeben.

    Beschreibung:
Mit fileperms() kann man sich die Zugriffsrechte einer Datei (filename) zurückgeben lassen.

Als Rückgabewert dieser Funktion erhalten Sie die Zugriffsrechte, im Fehlerfall wird false zurückgeliefert.


    Aktiv in Version:
(PHP 4, PHP 5, PHP 7)

    Hinweis:
Hinweis:

Die Ergebnisse dieser Funktion werden gecached. Weitere Details erhalten Sie bei clearstatcache().


    Tips:
Tips:

Seit PHP 5.0.0 kann diese Funktion mit einigen URL-Wrappern benutzt werden. Schauen Sie in der Liste unter Unterstützte Protokolle and Wrappers nach, welcher Wrapper die Funktionalität von stat() unterstützt.


    Fehler:
Im Fehlerfall wird eine E_WARNING ausgegeben.

    Siehe auch:
•  chmod()
Ändert die Zugriffsrechte einer Datei
 
Prüft, ob eine Datei existiert und lesbar ist
 
•  stat()
Sammelt Informationen über eine Datei
 

fileperms() - Beispiel: Zeige Rechte als Oktal-Wert an


Eingabe:
<?php
echo substr(sprintf('%o', fileperms('/tmp')), -4);
echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);
?>


Ausgabe:
1777
0644
fileperms() - Beispiel 2: Zeige komplette Rechte an


Eingabe:
<?php
$perms = fileperms('/etc/passwd');

if (($perms & 0xC000) == 0xC000) {
    // Socket
    $info = 's';
} elseif (($perms & 0xA000) == 0xA000) {
    // Symbolischer Link
    $info = 'l';
} elseif (($perms & 0x8000) == 0x8000) {
    // Regulär
    $info = '-';
} elseif (($perms & 0x6000) == 0x6000) {
    // Block special
    $info = 'b';
} elseif (($perms & 0x4000) == 0x4000) {
    // Verzeichnis
    $info = 'd';
} elseif (($perms & 0x2000) == 0x2000) {
    // Character special
    $info = 'c';
} elseif (($perms & 0x1000) == 0x1000) {
    // FIFO pipe
    $info = 'p';
} else {
    // Unknown
    $info = 'u';
}

// Besitzer
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
            (($perms & 0x0800) ? 's' : 'x' ) :
            (($perms & 0x0800) ? 'S' : '-'));

// Gruppe
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
            (($perms & 0x0400) ? 's' : 'x' ) :
            (($perms & 0x0400) ? 'S' : '-'));

// Andere
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
            (($perms & 0x0200) ? 't' : 'x' ) :
            (($perms & 0x0200) ? 'T' : '-'));

echo $info;
?>


Ausgabe:
-rw-r--r--
fileperms() - Beispiel 3:


Eingabe:
<?PHP
$datei = 'index.php';

$id = fileperms ( $datei );

$id = decoct ( $id );

echo 'Zugriffsrechte der Datei ' . $datei . ': ' . $id;
?>


Ausgabe:
Zugriffsrechte der Datei index.php: 100766
Dateisystem-Funktionen