PHP8 RarArchive::setAllowBroken

2024-02-23 11:45 更新

(PECL rar >= 3.0.0)

RarArchive::setAllowBroken — 是否允许打开损坏的存档

说明 

面向对象风格 (method):

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

过程化风格:

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

此方法定义是否可以读取损坏的存档或所有操作 尝试提取存档条目将失败。破损的档案是 打开文件时未检测到错误,但读取时发生错误 条目。

参数 

rarfile

一个 RarArchive 对象,用 rar_open() 打开。

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() - 测试存档是否损坏(不完整)


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号