ZipArchive::addFile
(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)
ZipArchive::addFile — Adiciona um arquivo a um arquivo ZIP a partir do caminho fornecido
Descrição
string
$filepath
,string
$entryname
= "",int
$start
= 0,int
$length
= ZipArchive::LENGTH_TO_END,int
$flags
= ZipArchive::FL_OVERWRITE): bool
Adiciona um arquivo a um arquivo ZIP a partir de um caminho fornecido..
Note: Para portabilidade máxima, é recomendável sempre usar barras normais (
/
) como separador de diretório em nomes de arquivos ZIP.
Parâmetros
filepath
-
O caminho para o arquivo a ser adicionado.
entryname
-
Se fornecido e não vazio, este é o nome local dentro do arquivo ZIP que substituirá o
filepath
. start
-
Para cópia parcial, posição de início.
length
-
Para cópia parcial, comprimento a ser copiado, se
ZipArchive::LENGTH_TO_END
(0) o tamanho do arquivo é usado, seZipArchive::LENGTH_UNCHECKED
o arquivo inteiro é usado (a partir destart
). flags
-
Máscara de bits consistindo de
ZipArchive::FL_OVERWRITE
,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 de constantes ZIP.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0, PECL zip 1.18.0 |
flags foi adicionado.
|
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.
|
Exemplos
Este exemplo abre um arquivo ZIP test.zip e adiciona o arquivo /caminho/para/index.txt. como newname.txt.
Example #1 Abrir e adicionar
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->addFile('/path/to/index.txt', 'newname.txt');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
Notas
Note:
Quando um arquivo é configurado para ser adicionado ao arquivo, o PHP irá bloquear o arquivo. O bloqueio é liberado apenas depois que o objeto ZipArchive foi fechado, seja via ZipArchive::close() ou o objeto ZipArchive sendo destruído. Isso pode impedir que você consiga excluir o arquivo sendo adicionado até depois que o bloqueio tenha sido liberado.
Veja Também
- ZipArchive::replaceFile() - Substitui um arquivo no arquivo ZIP por um caminho fornecido