(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));
?>