RAR アーカイブからエントリの全一覧を取得する

# RarArchive::getEntries

# rar_list

(PECL rar >= 2.0.0)

RarArchive::getEntries -- rar_list — RAR アーカイブからエントリの全一覧を取得する

### 説明

オブジェクト指向型 (メソッド)

public function RarArchive::getEntries(): array|false

手続き型:

function rar_list(RarArchive `$rarfile`): array|false

エントリ (ファイルおよびディレクトリ) の一覧を RAR アーカイブから取得します。

> 注意: アーカイブの中に同じ名前のエントリが存在する場合は、このメソッドを RarArchive の `foreach` と組み合わせて 数値添字の配列形式で処理するのが唯一のアクセス方法となります (つまり、 RarArchive::getEntry() と `rar://` ラッパー は使えないということです)。

### パラメータ

`rarfile`
  rar_open() でオープンした RarArchive オブジェクト。

### 戻り値

rar_list() は RarEntry オブジェクトの配列を返します。 失敗した場合に `false` を返します。

### 変更履歴

バージョン | 説明
--- | ---
PECL rar 3.0.0 | エントリ名が繰り返される RAR アーカイブも対応するようになりました。

### 例

例1 オブジェクト指向型

    <?php
    $rar_arch = RarArchive::open('solid.rar');
    if ($rar_arch === FALSE)
        die("Could not open RAR archive.");

    $rar_entries = $rar_arch->getEntries();
    if ($rar_entries === FALSE)
        die("Could not retrieve entries.");

    echo "Found " . count($rar_entries) . " entries.\n";

    foreach ($rar_entries as $e) {
        echo $e;
        echo "\n";
    }
    $rar_arch->close();
    ?>

上の例の出力は、 たとえば以下のようになります。

    Found 2 entries.
    RarEntry for file "tese.txt" (23b93a7a)
    RarEntry for file "unrardll.txt" (2ed64b6e)

例2 手続き型

    <?php
    $rar_arch = rar_open('solid.rar');
    if ($rar_arch === FALSE)
        die("Could not open RAR archive.");

    $rar_entries = rar_list($rar_arch);
    if ($rar_entries === FALSE)
        die("Could retrieve entries.");

    echo "Found " . count($rar_entries) . " entries.\n";

    foreach ($rar_entries as $e) {
        echo $e;
        echo "\n";
    }
    rar_close($rar_arch);
    ?>

### 参考

- RarArchive::getEntry() - Rar アーカイブからエントリオブジェクトを取得する
- `rar://` ラッパー

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open