(PECL rar >= 3.0.0)
RarArchive::setAllowBroken — Determina si la apertura de archivos dañados se permite
Estilo orientado a objetos (method):
Estilo por procedimientos:
Este método determina si los archivos dañados pueden ser leidos o todas las operaciones que intenten extraer el archivo de las entradas producirán un error. Los archivos rotos son archivos para los cuales ningún error es detectado cuando el archivo es abierto pero un error se produce cuando leemos las entradas.
rarfile
Un objeto RarArchive, abierto con rar_open().
allow_broken
Determina si se permite la lectura de archivos dañados (true
) o no (false
).
Devuelve true
o false
en caso de error. Sólo se producirá un error si el archivo
ya fue cerrado.
Ejemplo #1 Estilo orientado a objetos
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* El tercer argumento omite el mensaje "volumen no encontrado" */
$a = RarArchive::open($file, null, 'retnull');
$a->setAllowBroken(true);
foreach ($a->getEntries() as $e) {
echo "$e\n";
}
var_dump(count($a));
?>
El resultado del ejemplo sería algo similar a:
RarEntry for file "file1.txt" (52b28202) int(1)
Ejemplo #2 Estilo por procedimientos
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* El tercer argumento omite el mensaje "volumen no encontrado" */
$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));
?>