(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());
?>Résultat de l'exemple ci-dessus est 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));
?>