# RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

RarArchive::setAllowBroken — Autorise ou non l'ouverture d'archives corrompues

### Description

Style orienté objet (méthode) :

public RarArchive::setAllowBroken(bool `$allow_broken`): bool

Style procédural :

rar_allow_broken_set(RarArchive `$rarfile`, bool `$allow_broken`): bool

Cette méthode définit si les archives corrompues peuvent être lues ou bien si les opérations qui tentent d'extraire les entrées de l'archive doivent échouées. Les archives corrompues sont les archives pour lesquelles aucune erreur n'est détectée lorsque le fichier est ouvert mais qu'une erreur survient lors de la lecture des entrées.

### Liste de paramètres

`rarfile`

  Un objet RarArchive, ouvert avec la fonction rar_open().

`allow_broken`

  Si la lecture des archives corrompues est autorisée (`true`) ou non (`false`).

### Valeurs de retour

Retourne `true` ou `false` si une erreur survient. La méthode échouera uniquement si le fichier a déjà été clos.

### Exemples

Exemple #1 Style orienté objet

`<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Le 3ème argument évite le message "volume not found" */
$a = RarArchive::open($file, null, 'retnull');
$a->setAllowBroken(true);
foreach ($a->getEntries() as $e) {
echo "$e\n";
}
var_dump(count($a));
?>`

Résultat de l'exemple ci-dessus est similaire à :

    RarEntry for file "file1.txt" (52b28202)
    int(1)

Exemple #2 Style procédural

`<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Le 3ème argument évite le message "volume not found" */
$a = rar_open($file, null, 'retnull');
rar_allow_broken_set($a, true);
foreach (rar_list($a) as $e) {
echo "$e\n";
}
var_dump(count($a));
?>`

### Voir aussi

- RarArchive::isBroken() - Test si une archive est corrompue (incomplète)