(PHP 5 >= 5.3.0, PHP 7, 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)