©
本文档使用 PHP中文网手册 发布
(PECL rar >= 2.0.0)
RarArchive::getEntries -- rar_list — Get full list of entries from the RAR archive
面向对象风格 (method):
过程化风格:
$rarfile
)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 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 );
?>
[#1] Anonymous [2014-11-19 14:49:28]
at the examples line 7 should be:
die("Could NOT retrieve entries.");
[#2] grap at hot dot ee [2013-01-24 14:01:44]
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();
}
?>