Descripción
int
fileperms ( string nombre_archivo )
Devuelve los permisos del archivo, o FALSE en caso de fallo.
Nota: Los resultados de esta
función son guardados. Consultar
clearstatcache() para más
detalles.
Sugerencia: A partir de PHP 5.0.0,
esta funcion tambien puede usarse con algunas URL
como nombre de fichero. Consultar Apéndice M, para
obtener una lista con soporte para la funcionalidad
stat().
Ejemplo 1. Desplegar los permisos como un valor octal
<?php echo substr(sprintf('%o', fileperms('/tmp')), -4); echo substr(sprintf('%o', fileperms('/etc/passwd')), -4); ?>
|
Esto produciría la salida: |
Ejemplo 2. Mostrar los permisos completos
<?php $perms = fileperms('/etc/passwd');
if (($perms & 0xC000) == 0xC000) { // Socket $info = 's'; } elseif (($perms & 0xA000) == 0xA000) { // Enlace Simbolico $info = 'l'; } elseif (($perms & 0x8000) == 0x8000) { // Regular $info = '-'; } elseif (($perms & 0x6000) == 0x6000) { // Bloque especial $info = 'b'; } elseif (($perms & 0x4000) == 0x4000) { // Directorio $info = 'd'; } elseif (($perms & 0x2000) == 0x2000) { // Caracter especial $info = 'c'; } elseif (($perms & 0x1000) == 0x1000) { // Pipe FIFO $info = 'p'; } else { // Desconocido $info = 'u'; }
// Duenyo $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; ?>
|
Esto produciría la salida: |
Vea también is_readable(), y
stat()