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

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
0
shevadas at gmail dot com
9 years ago
decompress() will truncate any part of the filename after the first period, as it assumes it's part of the extension. For example, if your PharData archive is named "views-3.x-3.13.tar.gz", calling decompress on it will create a tar file named "views-3.tar". See https://bugs.php.net/bug.php?id=58852
To Top