そのまんま!
Rar::getAttr
(no version information, might be only in CVS)
Rar::getAttr -- エントリの属性を取得する
説明
int
Rar::getAttr ( void )
Rar::getAttr() は、アーカイブエントリの属性を返します。
例 1. Rar::getAttr() の例
<?php
$rar_file = rar_open('example.rar') or die("Rar アーカイブのオープンに失敗しました");
$entry = rar_entry_get($rar_file, 'dir/in/the/archive') or die("そのようなエントリは見つかりません");
$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::getAttr() は、エラー時に FALSE を返します。
Rar::getHostOs() も参照ください。