(PHP >= 8.0.0, PECL zip >= 1.18.0)
ZipArchive::replaceFile — Substitui um arquivo no arquivo ZIP por um caminho fornecido
$filepath
,$index
,$start
= 0,$length
= ZipArchive::LENGTH_TO_END,$flags
= 0Substitui um arquivo no arquivo ZIP por um caminho fornecido.
Nota: Para portabilidade máxima, é recomendável sempre usar barras normais (
/
) como separador de diretório em nomes de arquivos ZIP.
filepath
O caminho para o arquivo a ser adicionado.
index
O índice do arquivo a ser substituído, seu nome não é alterado.
start
Para cópia parcial, posição inicial.
length
Para cópia parcial, comprimento a ser copiado,
se ZipArchive::LENGTH_TO_END
(0), o tamanho do arquivo é usado,
se ZipArchive::LENGTH_UNCHECKED
, o arquivo inteiro é usado
(a partir de start
).
flags
Máscara de bits consistindo em
ZipArchive::FL_ENC_GUESS
,
ZipArchive::FL_ENC_UTF_8
,
ZipArchive::FL_ENC_CP437
,
ZipArchive::FL_OPEN_FILE_NOW
.
O comportamento dessas constantes é descrito na página
constantes do ZIP.
Versão | Descrição |
---|---|
8.3.0, PECL zip 1.22.1 |
ZipArchive::FL_OPEN_FILE_NOW foi adicionado.
|
8.3.0, PECL zip 1.22.2 |
ZipArchive::LENGTH_TO_END e ZipArchive::LENGTH_UNCHECKED foram adicionados.
|
Este exemplo abre um arquivo ZIP test.zip e substitui a entrada do índice 1 pelo arquivo /path/to/index.txt.
Exemplo #1 Abrir e substituir
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->replaceFile('/path/to/index.txt', 1);
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>