downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
search for in the  

<fileownerfilesize>
Last updated: Thu, 26 Jun 2008

fileperms

(PHP 4, PHP 5)

fileperms — Gets file permissions

Description

int fileperms ( string $filename )

Gets permissions for the given file.

Parameters

filename

Path to the file.

Return Values

Returns the permissions on the file, or FALSE in case of an error.

Examples

Example #1 Display permissions as an octal value

<?php
echo substr(sprintf('%o', fileperms('/tmp')), -4);
echo
substr(sprintf('%o', fileperms('/etc/passwd')), -4);
?>

The above example will output:

1777
0644

Example #2 Display full permissions

<?php
$perms
= fileperms('/etc/passwd');

if ((
$perms & 0xC000) == 0xC000) {
  
// Socket
  
$info = 's';
} elseif ((
$perms & 0xA000) == 0xA000) {
  
// Symbolic Link
  
$info = 'l';
} elseif ((
$perms & 0x8000) == 0x8000) {
  
// Regular
  
$info = '-';
} elseif ((
$perms & 0x6000) == 0x6000) {
  
// Block special
  
$info = 'b';
} elseif ((
$perms & 0x4000) == 0x4000) {
  
// Directory
  
$info = 'd';
} elseif ((
$perms & 0x2000) == 0x2000) {
  
// Character special
  
$info = 'c';
} elseif ((
$perms & 0x1000) == 0x1000) {
  
// FIFO pipe
  
$info = 'p';
} else {
  
// Unknown
  
$info = 'u';
}

// Owner
$info .= (($perms & 0x0100) ? 'r' : '-');
$info .= (($perms & 0x0080) ? 'w' : '-');
$info .= (($perms & 0x0040) ?
           ((
$perms & 0x0800) ? 's' : 'x' ) :
           ((
$perms & 0x0800) ? 'S' : '-'));

// Group
$info .= (($perms & 0x0020) ? 'r' : '-');
$info .= (($perms & 0x0010) ? 'w' : '-');
$info .= (($perms & 0x0008) ?
           ((
$perms & 0x0400) ? 's' : 'x' ) :
           ((
$perms & 0x0400) ? 'S' : '-'));

// World
$info .= (($perms & 0x0004) ? 'r' : '-');
$info .= (($perms & 0x0002) ? 'w' : '-');
$info .= (($perms & 0x0001) ?
           ((
$perms & 0x0200) ? 't' : 'x' ) :
           ((
$perms & 0x0200) ? 'T' : '-'));

echo
$info;
?>

The above example will output:

-rw-r--r--

Notes

Note: The results of this function are cached. See clearstatcache() for more details.

Tip

As of PHP 5.0.0, this function can also be used with some URL wrappers. Refer to List of Supported Protocols/Wrappers for a listing of which wrappers support stat() family of functionality.



add a noteadd a note User Contributed Notes
Gets file permissions
There are no user contributed notes for this page.




<fileownerfilesize>
Last updated: Thu, 26 Jun 2008
show source | credits | sitemap | contact | advertising | mirror sites
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: http://phpbuilder.com/
Last updated: Tue Nov 1 20:20:59 2005 EST
Columns / Articles | Tips / Quickies | News | News Linking and RSS Feeds | Shared Code Library
Mail Archives | Support / Discussion Forums | Get Started! Links | Contribute! | Docs