PHP8 RarArchive::getEntries
rar_list
(PECL rar >= 2.0.0)
RarArchive::getEntries -- rar_list — 从 RAR 存档中获取条目的完整列表
说明
面向对象风格 (method):
public RarArchive::getEntries(): array|false
过程化风格:
rar_list(RarArchive $rarfile): array|false
从 RAR 存档中获取条目列表(文件和目录)。
注意:如果存档有 同名的条目,此方法,以及 RarArchive 迭代和带有数字索引的类似数组的访问, 是唯一可以访问所有条目的人(即 RarArchive::getEntry() 和 rar:// 包装器是不够的)。foreach
参数
rarfile
一个 RarArchive 对象,用 rar_open() 打开。
返回值
rar_list() returns array of RarEntry objects 或者在失败时返回 false.
更新日志
版本 | 说明 |
---|---|
PECL rar 3.0.0 | 对具有重复条目名称的 RAR 存档的支持不再有缺陷。 |
示例
示例 #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)
示例 #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);
?>
参见
- RarArchive::getEntry() - 从 RAR 存档中获取条目对象
- rar:// wrapper