Rar 函数
PHP 手册

Rar::getAttr

(PECL rar >= 0.1)

Rar::getAttrGet attributes of the entry

说明

Rar
int getAttr ( void )

Rar::getAttr() returns attributes of the archive entry.

返回值

Returns the attributes or FALSE on error.

范例

Example #1 Rar::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_HOST_MSDOS:
    case 
RAR_HOST_OS2:
    case 
RAR_HOST_WIN32:
    case 
RAR_HOST_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_HOST_UNIX:
    case 
RAR_HOST_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);

?>

参见


Rar 函数
PHP 手册