Compzone.Org :: Podręcznik PHP :: fileperms
Jaki jest Twój wiek?
40 - 59
26 - 39
19 - 25
13 - 18
12 i mniej
60 i więcej
Sonda Wyniki

Add to Google

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

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

Patrz także: is_readable(), i stat()

Copyright © 2005-2006 Compzone.Org. Kopiowanie i wykorzystywanie materiałów zawartych na tej stronie bez zgody autora zabronione!