(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharFileInfo::decompress — Разжимает текущий файл
Этот метод разжимает файл внутри phar-архива. В зависимости от того, каким методом файл был сжат, необходимо наличие модулей bzip2 или zlib. Так как эта функциональность изменяет phar-архив, необходимо, чтобы опция phar.readonly была отключена, иначе внести изменения в архив Phar не получится. На архивы PharData ограничение на запись не распространяется.
У этой функции нет параметров.
Функция возвращает true
в случае успешного выполнения или false
, если возникла ошибка.
Выбрасывает исключение BadMethodCallException, если опция phar.readonly включена, либо соответствующий модуль bzip2/zlib недоступен.
Пример #1 Пример использования PharFileInfo::decompress()
<?php
try {
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$file = $p['myfile.txt'];
$file->compress(Phar::GZ);
var_dump($file->isCompressed());
$p['myfile.txt']->decompress();
var_dump($file->isCompressed());
} catch (Exception $e) {
echo 'Не удалось создать/изменить my.phar: ', $e;
}
?>
Результат выполнения приведённого примера:
int(4096) bool(false)