(PECL rar >= 3.0.0)
RarArchive::isBroken -- rar_broken_is — Test si une archive est corrompue (incomplète)
Style orienté objet (méthode) :
Style procédural :
Cette fonction détermine si une archive est incomplète, i.e., si un volume est manquant ou un volume est tronqué.
Retourne TRUE si l'archive est corrompue, FALSE sinon. Cette fonction peut également retournée FALSE si le fichier passé a déjà été clos. La seule solution pour faire la différence entre ces 2 cas est d'activer les exceptions grâce à la méthode RarException::setUsingExceptions() ; cependant, ce n'est pas nécessaire sachant qu'un programme ne doit pas fonctionner sur des fichiers fermés.
Exemple #1 Style orienté objet
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Le 3ème argument est utilisé pour éviter une alerte */
$arch = RarArchive::open($file, null, 'retnull');
var_dump($arch->isBroken());
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
bool(true)
Exemple #2 Style procédural
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Le 3ème argument est utilisé pour éviter une alerte */
$arch = rar_open($file, null, 'retnull');
var_dump(rar_broken_is($arch));
?>