(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, c.-à-d., si un volume est manquant ou un volume est tronqué.
rarfile
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));
?>