(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::compressFiles — Compacta todos os arquivos no arquivo Phar atual
Nota:
Este método requer que a configuração
phar.readonlydo php.ini seja definida como0para funcionar com objetos Phar. Caso contrário, uma exceção PharException será lançada.
Para arquivos phar baseados em tar, este método gera uma BadMethodCallException, pois a compactação de arquivos individuais dentro de um arquivo tar não é suportada pelo formato de arquivo. Use Phar::compress() para compactar um arquivo phar inteiro baseado em tar.
Para arquivos phar baseados em zip e phar, este método compacta todos os arquivos no arquivo Phar usando a compactação especificada. As extensões zlib ou bzip2 devem estar habilitadas para aproveitar este recurso. Além disso, se algum arquivo já estiver compactado usando a compactação bzip2/zlib, a respectiva extensão deve ser habilitada para descompactá-lo antes da compactação. 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.
compression
Deve ser Phar::GZ,
Phar::BZ2 para adicionar compactação ou Phar::NONE
para remover compactação.
Nenhum valor é retornado.
Lança BadMethodCallException se a variável INI phar.readonly estiver ativada, a extensão zlib não estiver disponível ou se algum arquivo estiver compactado usando a compactação bzip2 e a extensão bzip2 não estiver habilitada.
Exemplo #1 Um exemplo de Phar::compressFiles()
<?php
$p = new Phar('/caminho/para/meu.phar', 0, 'meu.phar');
$p['meuarquivo.txt'] = 'olá';
$p['meuarquivo2.txt'] = 'olá';
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
?>O exemplo acima produzirá:
string(14) "meuarquivo.txt" bool(false) bool(false) bool(false) string(15) "meuarquivo2.txt" bool(false) bool(false) bool(false) string(14) "meuarquivo.txt" int(4096) bool(false) bool(true) string(15) "meuarquivo2.txt" int(4096) bool(false) bool(true)