On the command line (*nix) you can use the following command to extract a phar file:
$ mkdir tmp && cd $_
$ phar extract -f ../file.phar
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::extractTo — Extrai o conteúdo de um arquivo phar para um diretório
$directory
, array|string|null $files
= null
, bool $overwrite
= false
): bool
Extrai todos os arquivos de um arquivo phar para o disco. Os arquivos e diretórios extraídos preservam
as permissões conforme armazenadas no arquivo. Os parâmetros opcionais permitem controle opcional sobre
quais arquivos são extraídos e se os arquivos existentes no disco podem ser sobrescritos.
O segundo parâmetro files
pode ser o nome de um arquivo ou
diretório a ser extraído, ou um array de nomes de arquivos e diretórios a serem extraídos. Por
padrão, este método não sobrescreve arquivos existentes; o terceiro parâmetro pode ser
definido como true para habilitar a sobrescrita de arquivos.
Este método é semelhante a ZipArchive::extractTo().
Retorna true
em caso de sucesso, mas é melhor verificar por exceções
e assumir sucesso se nenhuma tiver sido lançada.
Lança PharException se ocorrerem erros durante a descarga de alterações no disco.
Exemplo #1 Um exemplo de Phar::extractTo()
<?php
try {
$phar = new Phar('meuphar.phar');
$phar->extractTo('/caminho/completo'); // extrai todos os arquivos
$phar->extractTo('/caminho/alternativo', 'arquivo.txt'); // extrai somente arquivo.txt
$phar->extractTo('/este/caminho',
array('arquivo1.txt', 'arquivo2.txt')); // extrai somente 2 arquivos
$phar->extractTo('/terceiro/caminho', null, true); // extrai todos os arquivos e sobrescreve
} catch (Exception $e) {
// lida com erros
}
?>
Nota:
O sistema de arquivos NTFS do Windows não suporta alguns caracteres em nomes de arquivos, como
<|>*?":
. Nomes de arquivos que terminam com ponto também não são suportados. Ao contrário de algumas ferramentas de extração, este método não substitui estes caracteres por um sublinhado, mas falha ao extrair esses arquivos.
On the command line (*nix) you can use the following command to extract a phar file:
$ mkdir tmp && cd $_
$ phar extract -f ../file.phar