• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • RarEntry::getAttr

    (PECL rar >= 0.1)

    获取条目的属性

    说明

    publicRarEntry::getAttr (void) : int

    Returns the OS-dependent attributes of the archive entry.

    参数

    此函数没有参数。

    返回值

    Returns the attributes or FALSE on error.

    范例

    Example #1 RarEntry::getAttr() example

    <?php
    $rar_file = rar_open('example.rar') or die("Can't open Rar archive");
    $entry = rar_entry_get($rar_file, 'dir/in/the/archive') or die("Can't find such entry");
    $host_os = $entry->getHostOs();
    $attr = $entry->getAttr();
    switch($host_os) {
        case RAR_http://127.0.0.1/lanmper/public_MSDOS:
        case RAR_http://127.0.0.1/lanmper/public_OS2:
        case RAR_http://127.0.0.1/lanmper/public_WIN32:
        case RAR_http://127.0.0.1/lanmper/public_MACOS:
            printf("%c%c%c%c%c%c\n",
                    ($attr & 0x08) ? 'V' : '.',
                    ($attr & 0x10) ? 'D' : '.',
                    ($attr & 0x01) ? 'R' : '.',
                    ($attr & 0x02) ? 'H' : '.',
                    ($attr & 0x04) ? 'S' : '.',
                    ($attr & 0x20) ? 'A' : '.');
            break;
        case RAR_http://127.0.0.1/lanmper/public_UNIX:
        case RAR_http://127.0.0.1/lanmper/public_BEOS:
            switch ($attr & 0xF000)
            {
                case 0x4000:
                    printf("d");
                    break;
                case 0xA000:
                    printf("l");
                    break;
                default:
                    printf("-");
                    break;
            }
            printf("%c%c%c%c%c%c%c%c%c\n",
                    ($attr & 0x0100) ? 'r' : '-',
                    ($attr & 0x0080) ? 'w' : '-',
                    ($attr & 0x0040) ? (($attr & 0x0800) ? 's':'x'):(($attr & 0x0800) ? 'S':'-'),
                    ($attr & 0x0020) ? 'r' : '-',
                    ($attr & 0x0010) ? 'w' : '-',
                    ($attr & 0x0008) ? (($attr & 0x0400) ? 's':'x'):(($attr & 0x0400) ? 'S':'-'),
                    ($attr & 0x0004) ? 'r' : '-',
                    ($attr & 0x0002) ? 'w' : '-',
                    ($attr & 0x0001) ? 'x' : '-');
            break;
    }
    rar_close($rar_file);
    ?>
    

    参见

    • RarEntry::getHostOs() - Get entry host OS
    • The constants in RarEntry