ZipArchive::addFile

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::addFileAdiciona um arquivo a um arquivo ZIP a partir do caminho fornecido

Descrição

publicZipArchive::addFile(
    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..

Nota: 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, se ZipArchive::LENGTH_UNCHECKED o arquivo inteiro é usado (a partir de start).

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.

Valor Retornado

Retorna true em caso de sucesso ou false em caso de falha.

Registro de Alterações

VersãoDescrição
8.0.0 / 1.18.0flags foi adicionado.
8.3.0 / 1.22.1ZipArchive::FL_OPEN_FILE_NOW foi adicionado.
8.3.0 / 1.22.2ZipArchive::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.

Exemplo #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

Nota:

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

To Top