RarArchive::getEntries

rar_list

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

説明

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

public arrayfalse RarArchive::getEntries()

手続き型:

arrayfalse rar_list(RarArchive $rarfile)

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

注意:

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

パラメータ

rarfile

rar_open でオープンした RarArchive オブジェクト。

戻り値

rar_listRarEntry オブジェクトの配列を返します。 失敗した場合に 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);
?>

参考