RarArchive::open
RarArchive::__toString
RarArchive
PHP Manual

# RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

RarArchive::setAllowBroken — Whether opening broken archives is allowed

### Beschreibung

Objektorientierter Stil (method):

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

Prozeduraler Stil:

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

This method defines whether broken archives can be read or all the operations that attempt to extract the archive entries will fail. Broken archives are archives for which no error is detected when the file is opened but an error occurs when reading the entries.

### Parameter-Liste

`rarfile`

  A RarArchive object, opened with rar_open().

`allow_broken`

  Whether to allow reading broken files (`TRUE`) or not (`FALSE`).

### Rückgabewerte

Returns `TRUE` Im Fehlerfall wird `FALSE` zurückgegeben.. It will only fail if the file has already been closed.

### Beispiele

Beispiel #1 Objektorientierter Stil

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

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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

Beispiel #2 Prozeduraler Stil

`<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument omits "volume not found" message */
$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));
?>`

### Siehe auch

- RarArchive::isBroken() - Test whether an archive is broken (incomplete)

RarArchive::open
RarArchive::__toString
RarArchive
PHP Manual