RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

RarArchive::setAllowBrokenSe é permitido abrir arquivos quebrados

Descrição

Estilo orientado a objetos (method):

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

Estilo procedural:

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

Este método define se os arquivos quebrados podem ser lidos ou se todas as operações que tentam extrair as entradas do arquivo falharão. Arquivos quebrados são arquivos para os quais nenhum erro é detectado quando o arquivo é aberto, mas ocorre um erro ao ler as entradas.

Parâmetros

rarfile

Um objeto RarArchive, aberto com rar_open().

allow_broken

Se deve permitir a leitura de arquivos quebrados (true) ou não (false).

Valor Retornado

Retorna true ou false em caso de falha. Só falhará se o arquivo já tiver sido fechado.

Exemplos

Example #1 Estilo orientado a objetos

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

O exemplo acima produzirá algo semelhante a:

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

Example #2 Estilo procedural

<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* O terceiro argumento omite a mensagem "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));
?>

Veja Também