(PHP >= 8.0.0, PECL zip >= 1.18.0)
ZipArchive::replaceFile — Replace file in ZIP archive with a given path
$filepath
, string $index
, int $start
= 0
, int $length
= 0
, int $flags
= 0
) : boolReplace file in ZIP archive with a given path.
Note: 为了最大限度地提高代码可移植性,建议在 ZIP 文件名中使用斜线 (
/
) 做为目录分隔符。
filepath
The path to the file to add.
index
The index of the file to be replaced, its name is unchanged.
start
For partial copy, start position.
length
For partial copy, length to be copied, if 0 or -1 the whole file (starting from start
) is used.
flags
Bitmask consisting of
ZipArchive::FL_ENC_GUESS
,
ZipArchive::FL_ENC_UTF_8
,
ZipArchive::FL_ENC_CP437
.
The behaviour of these constants is described on the
ZIP constants page.
成功时返回 true
, 或者在失败时返回 false
。
This example opens a ZIP file archive test.zip and replaces index 1 entry with /path/to/index.txt.
Example #1 Open and replace
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->replaceFile('/path/to/index.txt', 1);
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>