PharFileInfo
PHP Manual

PharFileInfo::compress

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

PharFileInfo::compressСжать текущий файл с помощью zlib или bzip2

Описание

public bool PharFileInfo::compress ( int $compression )

Этот метод сжимает файл внутри phar-архива с помощью bzip2 или zlib. Для конкретных алгоритмов сжатия необходимо, чтобы были подключены расширения bzip2 или zlib соответственно.Также, если файл уже сжат, то для его расжатия потребуется соответствующее расширение. Так как данный функционал изменяет содержимое архива, для его нормальной работы необходимо, чтобы INI-опция phar.readonly была отключена, иначе не получится внести изменение в архив Phar. Файлы PharData не имеют ограничений, связанных с настройкой в php.ini.

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

Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки.

Ошибки

Бросает BadMethodCallException если INI-опция phar.readonly включена, или если соответствующее расширение bzip2/zlib недоступно.

Примеры

Пример #1 Пример использовния PharFileInfo::compress()

<?php
try {
    
$p = new Phar('/path/to/my.phar'0'my.phar');
    
$p['myfile.txt'] = 'hi';
    
$file $p['myfile.txt'];
    
var_dump($file->isCompressed(Phar::BZ2));
    
$p['myfile.txt']->compress(Phar::BZ2);
    
var_dump($file->isCompressed(Phar::BZ2));
} catch (
Exception $e) {
    echo 
'Create/modify operations on my.phar failed: '$e;
}
?>

Результат выполнения данного примера:

bool(false)
bool(true)

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


PharFileInfo
PHP Manual