PharData::extractTo

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

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

Описание

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

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

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

directory

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

files

Имя файла или директории, которые надо извлечь. Либо архив с именами файлов/директорий

overwrite

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

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

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

Ошибки

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

Примеры

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

<?php
try {
$phar = new PharData('myphar.tar');
$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) {
// обработка ошибок
}
?>

Примечания

Замечание:

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

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

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