(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
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.
Sempre retorna true
.
Lança BadMethodCallException se a variável INI phar.readonly estiver ativada ou se a extensão bzip2/zlib não estiver disponível.
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)