2024 年 PHP Conference Japan

RarArchive::getEntries

rar_list

(PECL rar >= 2.0.0)

RarArchive::getEntries -- rar_list從 RAR 封存檔取得完整的項目清單

說明

物件導向風格 (方法)

public RarArchive::getEntries(): 陣列|false

程序式風格

rar_list(RarArchive $rarfile): 陣列|false

從 RAR 壓縮檔取得項目列表(檔案和目錄)。

注意事項:

如果壓縮檔中存在同名項目,則此方法、RarArchiveforeach 迭代以及使用數字索引的陣列式存取,是唯一能夠存取所有項目的方法(也就是說,RarArchive::getEntry() rar:// 封裝器 是不夠的)。

參數

rarfile

一個使用 rar_open() 開啟的 RarArchive 物件。

傳回值

rar_list() 傳回 RarEntry 物件的陣列,失敗時傳回 false

更新日誌

版本 說明
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);
?>

另請參閱

新增註解

使用者貢獻的註解 2 則註解

匿名
10 年前
範例中的第 7 行應該是
die("無法擷取項目。");
grap at hot dot ee
11 年前
可能對很多人有用
<?php
$path
= 'path/to/archive';

$archive = RarArchive::open($path);
$list = $archive ->getEntries();
foreach (
$list as $entity) {
//僅印出壓縮檔中的檔案標題(使用 getter 來存取其他欄位等)
echo $value->getName();
}
?>
To Top