文字

RarEntry::getAttr

(PECL rar >= 0.1)

RarEntry::getAttrGet attributes of the entry

说明

public int RarEntry::getAttr ( void )

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_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 );

?>

参见

  • RarEntry::getHostOs() - Get entry host OS
  • The constants in RarEntry
上一篇: 下一篇: