Extrai o conteúdo de um arquivo phar para um diretório

# Phar::extractTo

(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

### Descrição

public function 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

- PharData::extractTo() - Extrai o conteúdo de um arquivo tar/zip para um diretório

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open