(PECL rar >= 3.0.0)
RarArchive::setAllowBroken — Determina si la apertura de archivos dañados se permite
Estilo orientado a objetos (method):
Estilo procedimental:
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
si ocurre un 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));
?>
Resultado del ejemplo anterior es similar a :
RarEntry for file "file1.txt" (52b28202) int(1)
Ejemplo #2 Estilo procedimental
<?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));
?>