ZipArchive::replaceFile

(PHP >= 8.0.0, PECL zip >= 1.18.0)

ZipArchive::replaceFile用给定路径替换 ZIP 归档中的文件

描述

public ZipArchive::replaceFile(
    string $filepath,
    int $index,
    int $start = 0,
    int $length = ZipArchive::LENGTH_TO_END,
    int $flags = 0
): bool

用给定路径替换 ZIP 归档中的文件。

注意: 为了最大程度地提高可移植性,建议始终在 ZIP 文件名中使用正斜杠 (/) 作为目录分隔符。

参数

filepath

要添加的文件的路径。

index

要替换的文件的索引,其名称保持不变。

start

对于部分复制,起始位置。

length

对于部分复制,要复制的长度,如果为 ZipArchive::LENGTH_TO_END (0) 则使用文件大小,如果为 ZipArchive::LENGTH_UNCHECKED 则使用整个文件(从 start 开始)。

flags

位掩码,包含 ZipArchive::FL_ENC_GUESSZipArchive::FL_ENC_UTF_8ZipArchive::FL_ENC_CP437ZipArchive::FL_OPEN_FILE_NOW。这些常量的行为在 ZIP 常量 页面上进行了描述。

返回值

成功时返回 true,失败时返回 false

变更日志

版本 描述
8.3.0 / 1.22.1 添加了 ZipArchive::FL_OPEN_FILE_NOW
8.3.0 / 1.22.2 添加了 ZipArchive::LENGTH_TO_ENDZipArchive::LENGTH_UNCHECKED

示例

此示例打开一个 ZIP 文件归档 test.zip 并用 /path/to/index.txt 替换索引 1 的条目。

示例 #1 打开和替换

<?php
$zip
= new ZipArchive;
if (
$zip->open('test.zip') === TRUE) {
$zip->replaceFile('/path/to/index.txt', 1);
$zip->close();
echo
'ok';
} else {
echo
'failed';
}
?>

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top