Manuel PHP

fileperms

(PHP 4, PHP 5)

filepermsLit les droits d'un fichier

Description

int fileperms ( string $filename )

Lit les droits du fichier donné.

Liste de paramètres

filename

Chemin vers le fichier.

Valeurs de retour

Retourne les droits du fichier, ou FALSE si une erreur survient.

Exemples

Exemple #1 Affichage des droits en valeur octale

  1. <?php
  2. echo substr(sprintf('%o', fileperms('/tmp')), -4);  
  3. echo substr(sprintf('%o', fileperms('/etc/passwd')), -4);  
  4. ?> 

L'exemple ci-dessus va afficher :

1777 0644

Exemple #2 Affichage de tous les droits

  1. <?php
  2. $perms = fileperms('/etc/passwd');  
  3.  
  4. if (($perms & 0xC000) == 0xC000) { 
  5.    // Socket
  6.    $info = 's';  
  7. } elseif (($perms & 0xA000) == 0xA000) { 
  8.    // Lien symbolique
  9.    $info = 'l';  
  10. } elseif (($perms & 0x8000) == 0x8000) { 
  11.    // Régulier
  12.    $info = '-';  
  13. } elseif (($perms & 0x6000) == 0x6000) { 
  14.    // Block special
  15.    $info = 'b';  
  16. } elseif (($perms & 0x4000) == 0x4000) { 
  17.    // Dossier
  18.    $info = 'd';  
  19. } elseif (($perms & 0x2000) == 0x2000) { 
  20.    // Caractère spécial
  21.    $info = 'c';  
  22. } elseif (($perms & 0x1000) == 0x1000) { 
  23.    // pipe FIFO
  24.    $info = 'p';  
  25. } else { 
  26.    // Inconnu
  27.    $info = 'u';  
  28. }  
  29.  
  30. // Autres
  31. $info .= (($perms & 0x0100) ? 'r' : '-');  
  32. $info .= (($perms & 0x0080) ? 'w' : '-');  
  33. $info .= (($perms & 0x0040) ? 
  34.          (($perms & 0x0800) ? 's' : 'x' ) : 
  35.          (($perms & 0x0800) ? 'S' : '-'));  
  36.  
  37. // Groupe
  38. $info .= (($perms & 0x0020) ? 'r' : '-');  
  39. $info .= (($perms & 0x0010) ? 'w' : '-');  
  40. $info .= (($perms & 0x0008) ? 
  41.          (($perms & 0x0400) ? 's' : 'x' ) : 
  42.          (($perms & 0x0400) ? 'S' : '-'));  
  43.  
  44. // Tout le monde
  45. $info .= (($perms & 0x0004) ? 'r' : '-');  
  46. $info .= (($perms & 0x0002) ? 'w' : '-');  
  47. $info .= (($perms & 0x0001) ? 
  48.          (($perms & 0x0200) ? 't' : 'x' ) : 
  49.          (($perms & 0x0200) ? 'T' : '-'));  
  50.  
  51. echo $info;  
  52. ?> 

L'exemple ci-dessus va afficher :

-rw-r--r--

Notes

Note: Les résultats de cette fonction sont mis en cache. Voyez la fonction clearstatcache() pour plus de détails.

Astuce

Depuis PHP 5.0.0, cette fonction peut aussi être utilisée avec quelques protocoles url. Lisez Liste des protocoles supportés pour une liste des protocoles supportant la famille de fonctionnalités de stat().


Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique