Извлечь содержимое phar-архива в директорию

# Phar::extractTo

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

Phar::extractTo — Извлечь содержимое phar-архива в директорию

### Описание

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

Извлекает все файлы phar-архива на диск. Извлечённые файлы и директории сохраняют все разрешения, которые у них были. Опциональные параметры позволяют контролировать, какие именно файлы извлекать и нужно ли перезаписывать уже существующие. Второй параметр `files` может быть как именем файла, так и путём директории, которые надо извлекать. По умолчанию уже существующие на диске файлы перезаписываться не будут. Для указания, что нужно использовать перезапись, используется третий параметр. Этот метод аналогичен методу ZipArchive::extractTo().

### Список параметров

`directory`

  Путь, по которому необходимо сохраните извлечённые файлы (`files`)

`files`

  Имя файла или директории, которые надо извлечь или архив с именами файлов/директорий. `null` для пропуска этого параметра.

`overwrite`

  Установите в `true`, если необходимо перезаписывать уже существующие файлы

### Возвращаемые значения

Возвращает `true` в случае успешного выполнения. Но лучше использовать механизм перехвата исключений для контроля успешности.

### Ошибки

Выбрасывает исключение PharException в случае возникновения ошибки записи на диск.

### Примеры

Пример #1 Пример использования Phar::extractTo()

    <?php
    try {
        $phar = new Phar('myphar.phar');
        $phar->extractTo('/full/path'); // извлечь все файлы
        $phar->extractTo('/another/path', 'file.txt'); // извлечь только file.txt
        $phar->extractTo('/this/path',
            array('file1.txt', 'file2.txt')); // извлечь два указанных файла
        $phar->extractTo('/third/path', null, true); // извлечь все файлы, использовать перезапись
    } catch (Exception $e) {
        // handle errors
    }
    ?>

### Примечания

> Замечание: Файловые системы Windows NTFS не поддерживают некоторые символы в именах файлов — `<|>*?":`. Имена файлов с точкой в конце также не поддерживаются. В отличие от ряда инструментов извлечения, метод не поддерживает замену этих символов на подчёркивание, а вместо этого возникает ошибка при извлечении таких файлов.

### Смотрите также

- PharData::extractTo() - Извлечь содержимое tar/zip-архива в директорию

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