(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.
filepathO caminho para o arquivo a ser adicionado.
indexO índice do arquivo a ser substituído, seu nome não é alterado.
startPara 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 'falha';
}
?>