Compacta a entrada Phar atual com zlib ou bzip2

# PharFileInfo::compress

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharFileInfo::compress — Compacta a entrada Phar atual com zlib ou bzip2

### Descrição

public function PharFileInfo::compress(int `$compression`): true

Este método compacta o arquivo dentro do arquivo Phar usando a compactação bzip2 ou zlib. A extensão bzip2 ou zlib deve estar habilitada para aproveitar este recurso. Além disso, se o arquivo já estiver compactado, a respectiva extensão deve ser habilitada para descompactá-lo. Assim como acontece com todas as funcionalidades que modificam o conteúdo de um arquivo Phar, a variável INI phar.readonly deve estar desativada para funcionar se o arquivo estiver dentro de um arquivo Phar. Arquivos dentro de arquivos PharData não têm essa restrição.

### Parâmetros

`compression`

  A compactação deve ser `Phar::GZ` ou `Phar::BZ2`.

### Valor Retornado

Sempre retorna `true`.

### Erros/Exceções

Lança BadMethodCallException se a variável INI phar.readonly estiver ativada ou se a extensão bzip2/zlib não estiver disponível.

### Exemplos

Exemplo #1 Um exemplo de PharFileInfo::compress()

    <?php
    try {
        $p = new Phar('/caminho/para/meu.phar', 0, 'meu.phar');
        $p['meuarquivo.txt'] = 'olá';
        $file = $p['meuarquivo.txt'];
        var_dump($file->isCompressed(Phar::BZ2));
        $p['meuarquivo.txt']->compress(Phar::BZ2);
        var_dump($file->isCompressed(Phar::BZ2));
    } catch (Exception $e) {
        echo 'Operações de criação/modificação em meu.phar falhou: ', $e;
    }
    ?>

O exemplo acima produzirá:

    bool(false)
    bool(true)

### Veja Também

- PharFileInfo::getCompressedSize() - Retorna o tamanho real do arquivo (com compactação) dentro do arquivo Phar
- PharFileInfo::isCompressed() - Informa se a entrada está compactada
- PharFileInfo::decompress() - Descompacta a entrada Phar atual dentro do phar
- Phar::canCompress() - Retorna se a extensão phar suporta compactação usando zlib ou bzip2
- Phar::isCompressed() - Retorna Phar::GZ ou PHAR::BZ2 se todo o arquivo phar estiver compactado (.tar.gz/tar.bz e assim por diante)
- Phar::compressFiles() - Compacta todos os arquivos no arquivo Phar atual
- Phar::decompressFiles() - Descompacta todos os arquivos no arquivo Phar atual
- Phar::compress() - Compacta todo o arquivo Phar usando compactação Gzip ou Bzip2
- Phar::decompress() - Descompacta todo o arquivo Phar
- Phar::getSupportedCompression() - Retorna um array de algoritmos de compactação suportados

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open