(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::decompressFiles — Descompacta todos os arquivos no arquivo zip atual
Nota:
Este método requer que a configuração
phar.readonly
do php.ini seja definida como0
para funcionar com objetos Phar. Caso contrário, uma exceção PharException será lançada.
Para arquivos baseados em tar, este método lança uma BadMethodCallException, pois a compactação de arquivos individuais dentro de um arquivo tar não é suportada pelo formato de arquivo. Use PharData::compress() para compactar um arquivo inteiro baseado em tar.
Para arquivos Zip, este método descompacta todos os arquivos no arquivo. As extensões zlib ou bzip2 devem ser habilitadas para aproveitar este recurso se algum arquivo for compactado usando bzip2/zlib.
Esta função não possui parâmetros.
Sempre retorna true
.
Lança BadMethodCallException se a extensão zlib não estiver disponível ou se algum arquivo estiver compactado usando a bzip2 e a extensão bzip2 não estiver habilitada.
Exemplo #1 Um exemplo de PharData::decompressFiles()
<?php
$p = new PharData('/caminho/para/meu.zip');
$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)