(PECL rar >= 3.0.0)
RarArchive::setAllowBroken — Se é permitido abrir arquivos quebrados
Estilo orientado a objetos (method):
Estilo procedural:
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.
rarfile
Um objeto RarArchive, aberto com rar_open().
allow_broken
Se deve permitir a leitura de arquivos quebrados (true
) ou não (false
).
Retorna true
ou false
em caso de falha. Só falhará se o arquivo já tiver
sido fechado.
Exemplo #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)
Exemplo #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));
?>