phpday 2025 - Call For Papers

RarEntry::getAttr

(PECL rar >= 0.1)

RarEntry::getAttrエントリの属性を取得する

説明

public RarEntry::getAttr(): int

アーカイブエントリの、OS に依存する属性を返します。

パラメータ

この関数にはパラメータはありません。

戻り値

属性、あるいはエラー時に false を返します。

例1 RarEntry::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);

?>

参考

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top