Autorise ou non l'ouverture d'archives corrompues

# RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

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

### Description

Style orienté objet (méthode) :

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

Style procédural :

function 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 échouer. 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() - Teste si une archive est corrompue (incomplète)

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open