Loading:

Promocja Helion.pl

fileperms()
int fileperms ( string $nazwa_pliku )

Zwraca prawa dostępu pliku, lub FALSE w przypadku błędu.

 

Informacja: Wyniki działania tej funkcji są buforowane. Zobacz opis funkcji clearstatcache() aby uzyskać więcej informacji.

 

Wskazówka

Od PHP 5.0.0 ta funkcja może być użyta także z niektórymi nakładkami URL. Zobacz List of Supported Protocols/Wrappers aby uzyskać listę nakładek, które obsługują funkcjonalność z rodziny stat().

 

Kompatybilność: PHP4, PHP5.



Napisz Artykuł

Listing

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ć:

1777
0644

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ć:

-rw-r--r--


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=3&t=1643

Dane do logowania na forum są takie same jak na funkcje.net



Dodano przez: divix
Ranga: Administrator serwisu Punktów: 38323
Komentarze użytkowników
    • Treść komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-17 v.1.5 | design: diviXdesign & rainbowcolors