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

# RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

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

### 説明

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

public RarArchive::setAllowBroken ( bool `$allow_broken` ) : bool

手続き型:

rar_allow_broken_set ( RarArchive `$rarfile` , bool `$allow_broken` ) : bool

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

### パラメータ

`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($file, null, '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($file, null, 'retnull');
rar_allow_broken_set($a, true);
foreach (rar_list($a) as $e) {
echo "$e\n";
}
var_dump(count($a));
?>`

### 参考

- RarArchive::isBroken() - アーカイブが壊れている (未完成である) かどうかを調べる