Ejemplo n.º 1
0
 function get_human_readable_file_permissions($pathtofile)
 {
     if (!directory_info::valid_pathtofile($pathtofile)) {
         return false;
     }
     $perms = fileperms($pathtofile);
     if (($perms & 0xc000) == 0xc000) {
         $info = 's';
     } elseif (($perms & 0xa000) == 0xa000) {
         $info = 'l';
     } elseif (($perms & 0x8000) == 0x8000) {
         $info = '-';
     } elseif (($perms & 0x6000) == 0x6000) {
         $info = 'b';
     } elseif (($perms & 0x4000) == 0x4000) {
         $info = 'd';
     } elseif (($perms & 0x2000) == 0x2000) {
         $info = 'c';
     } elseif (($perms & 0x1000) == 0x1000) {
         $info = 'p';
     } else {
         $info = 'u';
     }
     // Unknown
     // Owner
     $info .= $perms & 0x100 ? 'r' : '-';
     $info .= $perms & 0x80 ? 'w' : '-';
     $info .= $perms & 0x40 ? $perms & 0x800 ? 's' : 'x' : ($perms & 0x800 ? 'S' : '-');
     // Group
     $info .= $perms & 0x20 ? 'r' : '-';
     $info .= $perms & 0x10 ? 'w' : '-';
     $info .= $perms & 0x8 ? $perms & 0x400 ? 's' : 'x' : ($perms & 0x400 ? 'S' : '-');
     // World
     $info .= $perms & 0x4 ? 'r' : '-';
     $info .= $perms & 0x2 ? 'w' : '-';
     $info .= $perms & 0x1 ? $perms & 0x200 ? 't' : 'x' : ($perms & 0x200 ? 'T' : '-');
     return $info;
 }