note 3932 modified in fileperms by ronabop

From: Date: Mon, 02 Oct 2000 10:42:17 +0000
Subject: note 3932 modified in fileperms by ronabop
Groups: php.notes 
Request: Send a blank email to php-notes+get-5892@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]); } http://www.php.net/manual/function.fileperms.php

« previous php.notes (#5892) next »