note 3932 modified in function.fileperms by didou

From: Date: Wed, 21 May 2003 16:39:46 +0000
Subject: note 3932 modified in function.fileperms by didou
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-48772@lists.php.net to get a copy of this message
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']); } --was-- 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]); } http://www.php.net/manual/en/function.fileperms.php

« previous php.notes (#48772) next »