php8.5
Home/ Manual/ rar / rararchive/ RarArchive::getEntries

RarArchive::getEntries

PHP function Edit on GitHub ✎

(PECL rar >= 2.0.0)

Get full list of entries from the RAR archive

Description

Oop (method):

RarArchive::getEntries(): array|false

Procedural:

rar_list(RarArchive $rarfile): array|false

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

Note

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).

Parameters

rarfile

A RarArchive object, opened with rar_open().

Return Values

rar_list() returns array of RarEntry objects Falseforfailure.

Changelog

VersionDescription
PECL rar 3.0.0Support for RAR archives with repeated entry names is no longer defective.

Examples

Oop

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

The above example will output something similar to:

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

Procedural

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

See Also

Source: reference/rar/rararchive/getentries.xml · from the official PHP manual (php/doc-en)