(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é.
rarfile
Un objet RarArchive, ouvert avec la fonction rar_open().
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";
$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";
$arch = rar_open($file, null, 'retnull');
var_dump(rar_broken_is($arch));
?>