(PHP >= 8.0.0, PECL zip >= 1.18.0)
ZipArchive::replaceFile — Replace file in ZIP archive with a given path
$filepath
,$index
,$start
= 0,$length
= ZipArchive::LENGTH_TO_END,$flags
= 0Replace file in ZIP archive with a given path.
Nota: Para portabilidade máxima, é recomendável sempre usar barras normais (
/
) como separador de diretório em nomes de arquivos 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 ZipArchive::LENGTH_TO_END
(0) the file size is used,
if ZipArchive::LENGTH_UNCHECKED
the whole file is used
(starting from start
).
flags
Bitmask consisting of
ZipArchive::FL_ENC_GUESS
,
ZipArchive::FL_ENC_UTF_8
,
ZipArchive::FL_ENC_CP437
,
ZipArchive::FL_OPEN_FILE_NOW
.
The behaviour of these constants is described on the
ZIP constants page.
Retorna true
em caso de sucesso ou false
em caso de falha.
Versão | Descrição |
---|---|
8.3.0 / 1.22.1 |
ZipArchive::FL_OPEN_FILE_NOW was added.
|
8.3.0 / 1.22.2 |
ZipArchive::LENGTH_TO_END and ZipArchive::LENGTH_UNCHECKED were added.
|
This example opens a ZIP file archive test.zip and replaces index 1 entry with /path/to/index.txt.
Exemplo #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';
}
?>