(PECL rar >= 3.0.0)
RarArchive::isBroken -- rar_broken_is — Comprobar si un archivo está dañado (incompleto)
Estilo orientado a objetos (método):
Estilo por procedimientos:
Esta función determina si un archivo está incompleto, por ejemplo, Si un volumen no se encuentra o un volumen está truncado.
Devuelve TRUE
si el archivo está dañado, FALSE
en caso contrario. Esta función puede también
devolver FALSE
si el archivo pasado fue cerrado. La única manera
para poder distinguir aparte ambos casos es habilitando y permitiendo
excepciones con RarException::setUsingExceptions(); sin embargo,
esto debería ser innecesario, ya que un programa no debe funcionar con archivos cerrados.
Ejemplo #1 Estilo orientado a objetos
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* El tercer argumento es utilizado para omitir avisos */
$arch = RarArchive::open($file, null, 'retnull');
var_dump($arch->isBroken());
?>
El resultado del ejemplo sería algo similar a:
bool(true)
Ejemplo #2 Estilo por procedimientos
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* El tercer argumento es utilizado para omitir avisos */
$arch = rar_open($file, null, 'retnull');
var_dump(rar_broken_is($arch));
?>