RarArchive
PHP Manual

RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

RarArchive::setAllowBroken壊れたアーカイブのオープンを許可するかどうかを設定する

説明

オブジェクト指向型 (メソッド)

public bool RarArchive::setAllowBroken ( bool $allow_broken )

手続き型

bool rar_allow_broken_set ( RarArchive $rarfile , bool $allow_broken )

このメソッドは、壊れたアーカイブの読み込みを許可するか、 あるいはアーカイブからエントリを抽出する操作をすべて失敗させるかを設定します。 壊れたアーカイブとは、ファイルのオープン時には何もエラーが検出されないのに エントリを読み込むときにエラーが発生するようなアーカイブのことです。

パラメータ

rarfile

rar_open() でオープンした RarArchive オブジェクト。

allow_broken

壊れたファイルの読み込みを許可する (TRUE) か許可しない (FALSE) か。

返り値

TRUE を返します。失敗した場合に FALSE を返します。 失敗するのは、既にファイルが閉じられているときだけです。

例1 オブジェクト指向型

<?php
function retnull() { return null; }
$file dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument omits "volume not found" message */
$a RarArchive::open($filenull'retnull');
$a->setAllowBroken(true);
foreach (
$a->getEntries() as $e) {
    echo 
"$e\n";
}
var_dump(count($a));
?>

上の例の出力は、 たとえば以下のようになります。

RarEntry for file "file1.txt" (52b28202)
int(1)

例2 手続き型

<?php
function retnull() { return null; }
$file dirname(__FILE__) . "/multi_broken.part1.rar";
/* Third argument omits "volume not found" message */
$a rar_open($filenull'retnull');
rar_allow_broken_set($atrue);
foreach (
rar_list($a) as $e) {
    echo 
"$e\n";
}
var_dump(count($a));
?>

参考


RarArchive
PHP Manual