Phar::decompress

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

Phar::decompressРаспаковывает весь Phar-архив

Описание

public Phar::decompress ( string $extension = ? ) : Phar

Замечание:

Для корректной работы с объектами Phar этому методу необходима установка значения php.ini phar.readonly в 0. В противном случае, будет выброшено исключение PharException.

В случае с phar-архивами, основанными на tar или phar, этот метод распаковывает весь архив.

В случае с phar-архивами, основанными на zip, вызов данного метода потерпит неудачу и будет брошено исключение. Для распаковки архива, сжатого по алгоритму gzip, должен быть включен модуль zlib; для распаковки архива, сжатого по алгоритму bzip2, должен быть включен модуль bzip2. Как и в случае с другим функционалом, модифицирующим содержание phar-архива, для успешной работы данного метода необходимо, чтобы INI-переменная phar.readonly была отключена.

Кроме того, этот метод автоматически меняет расширения файла архива: по умолчанию .phar для phar-архивов и .phar.tar для phar-архивов, основанных на tar. В качестве альтернативы расширение файла может быть задано с помощью второго параметра.

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

extension

Расширениями распакованного файла по умолчанию являются .phar и .phar.tar. Этот параметр может быть использован для задания другого расширения распакованного файла. Имейте в виду, что все исполняемые phar-архивы должны содержать .phar в имени файла.

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

Возвращает объект Phar.

Ошибки

Выбрасывает исключение BadMethodCallException, если INI-переменная phar.readonly включена, модуль zlib не доступен или модуль bzip2 не включен.

Примеры

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

<?php
$p 
= new Phar('/путь/к/my.phar'0'my.phar.gz');
$p['myfile.txt'] = 'привет';
$p['myfile2.txt'] = 'привет';
$p3 $p2->decompress(); // создаст /путь/к/my.phar
?>

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