Podręcznik PHP -
fileperms fileperms (PHP 3, PHP 4, PHP 5)
fileperms -- Pobiera prawa dostępu pliku
Opis int
fileperms ( string nazwa_pliku )
Zwraca prawa dostępu pliku, lub FALSE w przypadku błędu.
Notatka: Wyniki działania tej funkcji są
buforowane. Zobacz opis funkcji clearstatcache() aby uzyskać
więcej informacji.
Podpowiedź: Od wersji 5.0.0 PHP ta funkcja
może być użyta także z niektórymi wrapperami URL. Zobacz
Dodatek M aby uzyskać listę wrapperów które obsługują
funkcjonalność z rodziny stat() .
Przykład 1. Wyświetlanie uprawnień w postaci ósemkowej
<?php echo substr ( sprintf ( '%o' , fileperms ( '/tmp' )), - 4 ); echo substr ( sprintf ( '%o' , fileperms ( '/etc/passwd' )), - 4 ); ?>
To powino wyświetlić:
Przykład 2. Wyświetlanie wszystkich uprawnień
<?php $perms = fileperms ( '/etc/passwd' ); if (( $perms & 0xC000 ) == 0xC000 ) { // Gniazdo (socket) $info = 's' ; } elseif (( $perms & 0xA000 ) == 0xA000 ) { // Link symboliczny $info = 'l' ; } elseif (( $perms & 0x8000 ) == 0x8000 ) { // Zwykły plik $info = '-' ; } elseif (( $perms & 0x6000 ) == 0x6000 ) { // Urządzenie blokowe $info = 'b' ; } elseif (( $perms & 0x4000 ) == 0x4000 ) { // Katalog $info = 'd' ; } elseif (( $perms & 0x2000 ) == 0x2000 ) { // Urządzenie znakowe $info = 'c' ; } elseif (( $perms & 0x1000 ) == 0x1000 ) { // Potok (FIFO) $info = 'p' ; } else { // Nieznane $info = 'u' ; } // Właściciel $info .= (( $perms & 0x0100 ) ? 'r' : '-' ); $info .= (( $perms & 0x0080 ) ? 'w' : '-' ); $info .= (( $perms & 0x0040 ) ? (( $perms & 0x0800 ) ? 's' : 'x' ) : (( $perms & 0x0800 ) ? 'S' : '-' )); // Grupa $info .= (( $perms & 0x0020 ) ? 'r' : '-' ); $info .= (( $perms & 0x0010 ) ? 'w' : '-' ); $info .= (( $perms & 0x0008 ) ? (( $perms & 0x0400 ) ? 's' : 'x' ) : (( $perms & 0x0400 ) ? 'S' : '-' )); // Świat $info .= (( $perms & 0x0004 ) ? 'r' : '-' ); $info .= (( $perms & 0x0002 ) ? 'w' : '-' ); $info .= (( $perms & 0x0001 ) ? (( $perms & 0x0200 ) ? 't' : 'x' ) : (( $perms & 0x0200 ) ? 'T' : '-' )); echo $info ; ?>
To powino wyświetlić:
Patrz także: is_readable() ,
i stat()