RarArchive::getEntries

rar_list

(PECL rar >= 2.0.0)

RarArchive::getEntries -- rar_listGet full list of entries from the RAR archive

Descrierea

Stil obiect-orientat (method):

public RarArchive::getEntries ( ) : array|false

Stil procedural:

rar_list ( RarArchive $rarfile ) : array|false

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

Notă:

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

Parametri

rarfile

A RarArchive object, opened with rar_open().

Valorile întoarse

rar_list() returns array of RarEntry objects sau false în cazul eșecului.

Istoricul schimbărilor

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

Exemple

Example #1 Stil obiect-orientat

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

Exemplul de mai sus va afișa ceva similar cu:

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

Example #2 Stil 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);
?>

A se vedea și

add a note add a note

User Contributed Notes 2 notes

up
1
Anonymous
9 years ago
at the examples line 7 should be:
    die("Could NOT retrieve entries.");
up
0
grap at hot dot ee
11 years ago
Can be usefult for many, probably:
<?php
$path 
= 'path/to/archive';

$archive = RarArchive::open($path);
$list       = $archive ->getEntries();
foreach (
$list as $entity) {
   
//print just title of file from archive(use getters to access other fields, etc)
   
echo $value->getName();
}
?>
To Top