PharData::extractTo
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)
PharData::extractTo — Извлечь содержимое tar/zip-архива в директорию
Описание
$pathto
, string|array|null $files
= null
, bool $overwrite
= false
) : bool
Извлекает все файлы tar/zip-архива на диск. Извлеченные файлы и директории сохраняют
все разрешения, которые у них были. Опциональные параметры позволяют контролировать,
какие именно файлы извлекать и нужно ли перезаписывать уже существующие.
Второй параметр files
может быть как именем файла, так и
путем директории, которые надо извлекать. По умолчанию уже существующие на диске
файлы перезаписываться не будут. Для указания, что нужно использовать перезапись,
используется третий параметр.
Этот метод аналогичен методу ZipArchive::extractTo().
Список параметров
-
pathto
-
Путь, по которому необходимо сохраните извлеченные файлы (
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) {
// обработка ошибок
}
?>