php 获取文件的权限,php读取文件夹权限

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 17:30   1828   0

// 说明:摘录自 User manager for PureFTPd 的权限显示函数

// 整理:http://www.CodeBit.cn

// 功能: 读取文件夹权限

function DisplayFilePermissions($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';

return $Type . $Owner['read'] . $Owner['write'] . $Owner['execute'] . $Group['read'] . $Group['write'] . $Group['execute'] . $World['read'] . $World['write'] . $World['execute'];

}

$perms = fileperms( 'F:/key' );

echo DisplayFilePermissions($perms);

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP