CakeFest 2024: The Official CakePHP Conference

RarArchive::getEntries

rar_list

(PECL rar >= 2.0.0)

RarArchive::getEntries -- rar_listRécupère la liste complète depuis l'archive RAR

Description

Style orienté objet (method):

public RarArchive::getEntries(): array|false

Style procédural :

rar_list(RarArchive $rarfile): array|false

Récupère la liste complète (fichiers et dossiers) depuis l'archive RAR.

Note:

Si l'archive contient des entrées portant le même nom, cette méthode, combinée avec l'itération RarArchive foreach et un accès style tableau avec des index numériques, est la seule permettant d'accéder à toutes les entrées (i.e. RarArchive::getEntry() et le gestionnaire rar:// sont insuffisants).

Liste de paramètres

rarfile

Un objet RarArchive, ouvert avec la fonction rar_open().

Valeurs de retour

Retourne un tableau d'objets RarEntry ou false si une erreur survient.

Historique

Version Description
PECL rar 3.0.0 Support des archives RAR contenant des entrées portant le même nom.

Exemples

Exemple #1 Style orienté objet

<?php
$rar_arch
= RarArchive::open('solid.rar');
if (
$rar_arch === FALSE)
die(
"Impossible d'ouvrir l'archive RAR.");

$rar_entries = $rar_arch->getEntries();
if (
$rar_entries === FALSE)
die(
"Impossible de récupérer les entrées.");

echo
"Nombre d'entrées trouvées : " . count($rar_entries) . "\n";

foreach (
$rar_entries as $e) {
echo
$e;
echo
"\n";
}
$rar_arch->close();
?>

Résultat de l'exemple ci-dessus est similaire à :

Nombre d'entrées trouvées : 2
RarEntry for file "tese.txt" (23b93a7a)
RarEntry for file "unrardll.txt" (2ed64b6e)

Exemple #2 Style procédural

<?php
$rar_arch
= rar_open('solid.rar');
if (
$rar_arch === FALSE)
die(
"Impossible d'ouvrir l'archive RAR.");

$rar_entries = rar_list($rar_arch);
if (
$rar_entries === FALSE)
die(
"Impossible de récupérer les entrées.");

echo
"Nombre d'entrées trouvées : " . count($rar_entries) . "\n";

foreach (
$rar_entries as $e) {
echo
$e;
echo
"\n";
}
rar_close($rar_arch);
?>

Voir aussi

add a note

User Contributed Notes 2 notes

up
2
Anonymous
9 years ago
at the examples line 7 should be:
die("Could NOT retrieve entries.");
up
1
grap at hot dot ee
11 years ago
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();
}
?>
To Top