©
本文档使用
php.cn手册 发布
(PECL rar >= 0.1)
RarEntry::getAttr — Get attributes of the entry
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 );
?>