PharData::extractTo

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

PharData::extractToExtract the contents of a tar/zip archive to a directory

Descrição

public PharData::extractTo(string $directory, array|string|null $files = null, bool $overwrite = false): bool

Extract all files within a tar/zip archive to disk. Extracted files and directories preserve permissions as stored in the archive. The optional parameters allow optional control over which files are extracted, and whether existing files on disk can be overwritten. The second parameter files can be either the name of a file or directory to extract, or an array of names of files and directories to extract. By default, this method will not overwrite existing files, the third parameter can be set to true to enable overwriting of files. This method is similar to ZipArchive::extractTo().

Parâmetros

directory

Path to extract the given files to

files

The name of a file or directory to extract, or an array of files/directories to extract

overwrite

Set to true to enable overwriting existing files

Valor Retornado

returns true on success, but it is better to check for thrown exception, and assume success if none is thrown.

Erros/Exceções

Throws PharException if errors occur while flushing changes to disk.

Exemplos

Example #1 A PharData::extractTo() example

<?php
try {
    $phar = new PharData('myphar.tar');
    $phar->extractTo('/full/path'); // extract all files
    $phar->extractTo('/another/path', 'file.txt'); // extract only file.txt
    $phar->extractTo('/this/path',
        array('file1.txt', 'file2.txt')); // extract 2 files only
    $phar->extractTo('/third/path', null, true); // extract all files, and overwrite
} catch (Exception $e) {
    // handle errors
}
?>

Notas

Note:

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