©
                    本文档使用
                    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();
}
?>