(PECL rar >= 3.0.0)
RarArchive::isBroken -- rar_broken_is — Testa se um arquivo está quebrado (incompleto)
Estilo orientado a objetos (method):
Estilo procedural:
Esta função determina se um arquivo está incompleto, ou seja, se um volume está faltando ou se um volume está truncado.
Retorna true
se o arquivo estiver quebrado, false
caso contrário. Esta função também pode
retornar false
se o arquivo passado já tiver sido fechado. A única maneira
de diferenciar os dois casos é habilitar
exceções com RarException::setUsingExceptions(); entretanto,
isso deve ser desnecessário, pois um programa não deve operar em arquivos fechados.
Exemplo #1 Estilo orientado a objetos
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* O terceiro argumento é usado para omitir o aviso */
$arch = RarArchive::open($file, null, 'retnull');
var_dump($arch->isBroken());
?>
O exemplo acima produzirá algo semelhante a:
bool(true)
Exemplo #2 Estilo procedural
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* O terceiro argumento é usado para omitir o aviso */
$arch = rar_open($file, null, 'retnull');
var_dump(rar_broken_is($arch));
?>