(PECL rar >= 3.0.0)
RarArchive::isBroken -- rar_broken_is — アーカイブが壊れている (未完成である) かどうかを調べる
オブジェクト指向型 (メソッド)
手続き型
この関数は、アーカイブが不完全である (ボリュームがなかったり、ボリュームが途中で終わっていたりする) かどうかを調べます。
アーカイブが壊れている場合に TRUE、壊れていない場合に FALSE を返します。 この関数は、渡されたファイルがすでに閉じている場合にも FALSE を返します。どちらの原因かを特定するには exceptions with RarException::setUsingExceptions() で例外を有効にするしかありませんが、普通は閉じたファイルを操作することはないので これは不要なはずです。
例1 オブジェクト指向型
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument is used to omit notice */
$arch = RarArchive::open($file, null, 'retnull');
var_dump($arch->isBroken());
?>
上の例の出力は、 たとえば以下のようになります。
bool(true)
例2 手続き型
<?php
function retnull() { return null; }
$file = dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument is used to omit notice */
$arch = rar_open($file, null, 'retnull');
var_dump(rar_broken_is($arch));
?>