(PECL rar >= 3.0.0)
RarArchive::setAllowBroken — Whether opening broken archives is allowed
锟斤拷锟斤拷锟斤拷锟斤拷锟� (method):
$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($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)
Example #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));
?>