RarArchive::getEntries

rar_list

Get full list of entries from the RAR archive

&reftitle.description;

&style.oop; (method):

public `array` `RarArchive::getEntries`

&style.procedural;:

`array` `rar_list` `RarArchive` `rarfile`

Get entries list (files and directories) from the RAR archive.

If the archive has entries with the same name, this method, together with `RarArchive` `foreach` iteration and array-like access with numeric indexes, are the only ones to access all the entries (i.e., `RarArchive::getEntry` and the `rar://` wrapper are insufficient).

&reftitle.parameters;

`rarfile`

- A `RarArchive` object, opened with `rar_open`.

&reftitle.returnvalues;

`rar_list` returns array of `RarEntry` objects &return.falseforfailure;.

&reftitle.changelog;

&Version; | &Description;
3.0.0 | Support for RAR archives with repeated entry names is no longer defective.

&reftitle.examples;

### &style.oop;

    <?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 retrieve entries.");

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

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

&example.outputs.similar;

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

### &style.procedural;

    <?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);
    ?>

&reftitle.seealso;

- `RarArchive::getEntry`
- `rar://` wrapper