array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'rararchive.getentries.php', 1 => 'RarArchive::getEntries', ), 'up' => array ( 0 => 'class.rararchive.php', 1 => 'RarArchive', ), 'prev' => array ( 0 => 'rararchive.getcomment.php', 1 => 'RarArchive::getComment', ), 'next' => array ( 0 => 'rararchive.getentry.php', 1 => 'RarArchive::getEntry', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/rar/rararchive/getentries.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL rar >= 2.0.0)
RarArchive::getEntries -- rar_list — Возвращает полный список элементов из RAR архива
Объектно-ориентированный стиль (метод):
Процедурный стиль:
Возвращает элементы (файлы и директории) из RAR архива.
Замечание:
Если архив имеет элементы с одинаковым именем, то этот метод совместно с циклом
foreach
по RarArchive и доступом к нему как к массиву с числовыми индексами являются единственными способами получить доступ к этим элементам (т.е. RarArchive::getEntry() иrar://
обработчик (wrapper) не помогут).
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();
?>
Вывод приведённого примера будет похож на:
Нашёл 2 объектов. 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);
?>
rar://
обработчик(wrapper)