RarArchive::getEntries

rar_list

(PECL rar >= 2.0.0)

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

说锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟� (method):

public RarArchive::getEntries ( void ) : array

锟斤拷锟教伙拷锟斤拷锟�:

rar_list ( RarArchive $rarfile ) : array

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

锟斤拷锟斤拷

rarfile

A RarArchive object, opened with rar_open().

锟斤拷锟斤拷值

rar_list() returns array of RarEntry objects 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE.

锟斤拷锟斤拷锟斤拷志

锟芥本 说锟斤拷
3.0.0 Support for RAR archives with repeated entry names is no longer defective.

锟斤拷锟斤拷

Example #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)

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

锟轿硷拷