RarArchive::setAllowBroken

(PECL rar >= 3.0.0)

RarArchive::setAllowBrokenWhether opening broken archives is allowed

说锟斤拷

锟斤拷锟斤拷锟斤拷锟斤拷锟� (method):

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

锟斤拷锟教伙拷锟斤拷锟�:

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

This method defines whether broken archives can be read or all the operations that attempt to extract the archive entries will fail. Broken archives are archives for which no error is detected when the file is opened but an error occurs when reading the entries.

锟斤拷锟斤拷

rarfile

A RarArchive object, opened with rar_open().

allow_broken

Whether to allow reading broken files (TRUE) or not (FALSE).

锟斤拷锟斤拷值

Returns TRUE 锟斤拷锟斤拷锟斤拷失锟斤拷时锟斤拷锟斤拷 FALSE. It will only fail if the file has already been closed.

锟斤拷锟斤拷

Example #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)

Example #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));
?>

锟轿硷拷