Phar::extractTo

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

Phar::extractToExtrai o conteúdo de um arquivo phar para um diretório

Descrição

public Phar::extractTo(string $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().

Parâmetros

directory

Caminho para o qual os arquivos informados em files serão extraídos.

files

O nome de um arquivo ou diretório a ser extraído ou um array de arquivos/diretórios a serem extraídos; null para pular este parâmetro.

overwrite

Defina como true para habilitar a substituição de arquivos existentes

Valor Retornado

Retorna true em caso de sucesso, mas é melhor verificar por exceções e assumir sucesso se nenhuma tiver sido lançada.

Erros/Exceções

Lança PharException se ocorrerem erros durante a descarga de alterações no disco.

Exemplos

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
}
?>

Notas

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.

Veja Também

adicione uma nota

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

up
3
msucco at mac dot com
5 years ago
On the command line (*nix) you can use the following command to extract a phar file:

$ mkdir tmp && cd $_
$ phar extract -f ../file.phar
To Top