(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::decompressFiles — Descompacta 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 baseado em tar inteiro.
Para arquivos phar baseados em Zip e phar, este método descompacta todos os arquivos no arquivo Phar. As extensões zlib ou bzip2 devem ser habilitadas para aproveitar este recurso caso algum arquivo seja compactado usando a compactação bzip2/zlib. Assim como acontece com todas as funcionalidades que modificam o conteúdo de um phar, a variável INI phar.readonly deve estar desativada para funcionar.
Esta função não possui parâmetros.
Sempre retorna true.
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::decompressFiles()
<?php
$p = new Phar('/caminho/para/meu.phar', 0, 'meu.phar');
$p['meuarquivo.txt'] = 'olá';
$p['meuarquivo2.txt'] = 'olá';
$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));
}
$p->decompressFiles();
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" int(4096) bool(false) bool(true) string(15) "meuarquivo2.txt" int(4096) bool(false) bool(true) string(14) "meuarquivo.txt" bool(false) bool(false) bool(false) string(15) "meuarquivo2.txt" bool(false) bool(false) bool(false)