Phar::decompress

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

Phar::decompressDescompacta todo o arquivo Phar

Descrição

public Phar::decompress(?string $extension = null): ?Phar

Nota:

Este método requer que a configuração phar.readonly do php.ini seja definida como 0 para funcionar com objetos Phar. Caso contrário, uma exceção PharException será lançada.

Para arquivos phar baseados em tar e phar, esse método descompacta o arquivo inteiro.

Para arquivos phar baseados em Zip, este método falha com uma exceção. A extensão zlib deve ser habilitada para descompactar um arquivo compactado com compactação gzip, e a extensão bzip2 deve ser habilitada para descompactar um arquivo compactado com compactação bzip2. Como acontece com todas as funcionalidades que modificam o conteúdo de um phar, a variável INI phar.readonly deve estar desativada para ter sucesso.

Além disso, este método altera automaticamente a extensão do arquivo, .phar por padrão para arquivos phar, ou .phar.tar para arquivos phar baseados em tar. Alternativamente, uma extensão de arquivo pode ser especificada com o segundo parâmetro.

Parâmetros

extension

Para descompactação, as extensões de arquivo padrão são .phar e .phar.tar. Use este parâmetro para especificar outra extensão de arquivo. Esteja ciente de que todos os arquivos executáveis ​​phar devem conter .phar em seus nomes.

Valor Retornado

Um objeto Phar é retornado em caso de sucesso e null em caso de falha.

Erros/Exceções

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

Registro de Alterações

Versão Descrição
8.0.0 extension agora é anulável.

Exemplos

Exemplo #1 Um exemplo de Phar::decompress()

<?php
$p
= new Phar('/caminho/para/meu.phar', 0, 'meu.phar.gz');
$p['meuarquivo.txt'] = 'olá';
$p['meuarquivo2.txt'] = 'olá';
$p3 = $p2->decompress(); // cria /caminho/para/meu.phar
?>

Veja Também