ZipArchive::setCompressionName

(PHP 7, PHP 8, PECL zip >= 1.13.0)

ZipArchive::setCompressionNameDefine o método de compressão de uma entrada definida pelo seu nome

Descrição

public ZipArchive::setCompressionName(string $name, int $method, int $compflags = 0): bool

Define o método de compressão de uma entrada definida pelo seu nome.

Parâmetros

name

Nome da entrada.

method

O método de compressão, uma das constantes ZipArchive::CM_*.

compflags

Nível de compressão.

Valor Retornado

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

Exemplos

Example #1 Adicionar arquivos com diferentes métodos de compressão a um arquivo

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('foo', 'Some text');
    $zip->addFromString('bar', 'Some other text');
    $zip->setCompressionName('foo', ZipArchive::CM_STORE);
    $zip->setCompressionName('bar', ZipArchive::CM_DEFLATE);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>

Example #2 Adicionar arquivo e definir método de compressão

<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFile('foo.jpg', 'bar.jpg');
    $zip->setCompressionName('bar.jpg', ZipArchive::CM_XZ);
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>