欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php将fileterms函数返回的结果变成可读的形式

程序员文章站 2022-06-03 10:44:27
复制代码 代码如下: function perms_str($perms){     if (($perms & 0xc000) == 0xc000)...
复制代码 代码如下:

function perms_str($perms){
    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' : '-'));

    return $info;
}