在示例第 7 行应为
die("Could NOT retrieve entries.");
(PECL rar >= 2.0.0)
RarArchive::getEntries -- rar_list — 获取 RAR 档案中条目的完整列表
面向对象风格(方法)
过程式风格
从 RAR 档案中获取条目列表(文件和目录)。
注意:
如果档案中存在同名的条目,则此方法与 RarArchive
foreach
迭代以及使用数字索引的数组式访问是访问所有条目的唯一方法(即,RarArchive::getEntry() 和rar://
封装器 不足)。
版本 | 描述 |
---|---|
PECL rar 3.0.0 | 对具有重复条目名称的 RAR 档案的支持不再有缺陷。 |
示例 #1 面向对象风格
<?php
$rar_arch = RarArchive::open('solid.rar');
if ($rar_arch === FALSE)
die("无法打开 RAR 档案。");
$rar_entries = $rar_arch->getEntries();
if ($rar_entries === FALSE)
die("无法检索条目。");
echo "找到 " . count($rar_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)
示例 #2 过程式风格
<?php
$rar_arch = rar_open('solid.rar');
if ($rar_arch === FALSE)
die("无法打开 RAR 档案。");
$rar_entries = rar_list($rar_arch);
if ($rar_entries === FALSE)
die("无法检索条目。");
echo "找到 " . count($rar_entries) . " 个条目。\n";
foreach ($rar_entries as $e) {
echo $e;
echo "\n";
}
rar_close($rar_arch);
?>
可能对许多人有用
<?php
$path = 'path/to/archive';
$archive = RarArchive::open($path);
$list = $archive ->getEntries();
foreach ($list as $entity) {
//仅打印档案中的文件标题(使用 getter 访问其他字段等)
echo $value->getName();
}
?>