Manuel PHP

fileperms

(PHP 4, PHP 5)

fileperms — Renvoie les permissions affectées à un fichier

Description

int fileperms ( string $filename )

fileperms() renvoie les permissions affectées au fichier filename , ou FALSE en cas d'erreur.

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

Tip

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().

Example#1 Affichage des permissions 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

Example#2 Affichage de toutes les permissions

  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.    // Bloc spécial
  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.    // FIFO pipe
  24.    $info = 'p';  
  25. } else { 
  26.    // Inconnu
  27.    $info = 'u';  
  28. }  
  29.  
  30. // Propriétaire
  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. // Tous
  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--

Voir aussi is_readable() et stat().

L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog