(PECL rar >= 3.0.0)
RarArchive::setAllowBroken — Autorise ou non l'ouverture d'archives corrompues
Style orienté objet (méthode) :
Style procédural :
Cette méthode définit si les archives corrompues peuvent être lues ou bien si les opérations qui tentent d'extraire les entrées de l'archive doivent échouées. Les archives corrompues sont les archives pour lesquelles aucune erreur n'est détectée lorsque le fichier est ouvert mais qu'une erreur survient lors de la lecture des entrées.
rarfile
Un objet RarArchive, ouvert avec la fonction rar_open().
allow_broken
Si la lecture des archives corrompues est autorisée (true
)
ou non (false
).
Retourne true
ou false
si une erreur survient. La méthode échouera uniquement
si le fichier a déjà été clos.
Exemple #1 Style orienté objet
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Le 3ème argument évite le message "volume not found" */
$a = RarArchive::open($file, null, 'retnull');
$a->setAllowBroken(true);
foreach ($a->getEntries() as $e) {
echo "$e\n";
}
var_dump(count($a));
?>
Résultat de l'exemple ci-dessus est similaire à :
RarEntry for file "file1.txt" (52b28202) int(1)
Exemple #2 Style procédural
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Le 3ème argument évite le message "volume not found" */
$a = rar_open($file, null, 'retnull');
rar_allow_broken_set($a, true);
foreach (rar_list($a) as $e) {
echo "$e\n";
}
var_dump(count($a));
?>