note 3932 deleted from function.fileperms by aidan

From: Date: Sat, 10 Jul 2004 13:27:54 +0000
Subject: note 3932 deleted from function.fileperms by aidan
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-73003@lists.php.net to get a copy of this message
Note Submitter: pwalker@pwccanada.com ---- Here is a simple function to display UNIX like permissions: function display_perms( $mode ) { /* Determine Type */ if( $mode & 0x1000 ) $type='p'; /* FIFO pipe */ else if( $mode & 0x2000 ) $type='c'; /* Character special */ else if( $mode & 0x4000 ) $type='d'; /* Directory */ else if( $mode & 0x6000 ) $type='b'; /* Block special */ else if( $mode & 0x8000 ) $type='-'; /* Regular */ else if( $mode & 0xA000 ) $type='l'; /* Symbolic Link */ else if( $mode & 0xC000 ) $type='s'; /* Socket */ else $type='u'; /* UNKNOWN */ /* Determine permissions */ $owner["read"] = ($mode & 00400) ? 'r' : '-'; $owner["write"] = ($mode & 00200) ? 'w' : '-'; $owner["execute"] = ($mode & 00100) ? 'x' : '-'; $group["read"] = ($mode & 00040) ? 'r' : '-'; $group["write"] = ($mode & 00020) ? 'w' : '-'; $group["execute"] = ($mode & 00010) ? 'x' : '-'; $world["read"] = ($mode & 00004) ? 'r' : '-'; $world["write"] = ($mode & 00002) ? 'w' : '-'; $world["execute"] = ($mode & 00001) ? 'x' : '-'; /* Adjust for SUID, SGID and sticky bit */ if( $mode & 0x800 ) $owner["execute"] = ($owner['execute']=='x') ? 's' : 'S'; if( $mode & 0x400 ) $group["execute"] = ($group['execute']=='x') ? 's' : 'S'; if( $mode & 0x200 ) $world["execute"] = ($world['execute']=='x') ? 't' : 'T'; printf("%1s", $type); printf("%1s%1s%1s", $owner['read'], $owner['write'], $owner['execute']); printf("%1s%1s%1s", $group['read'], $group['write'], $group['execute']); printf("%1s%1s%1s\n", $world['read'], $world['write'], $world['execute']); }

« previous php.notes (#73003) next »