PHP 8.3.4 Released!

PharFileInfo::compress

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

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

Описание

public PharFileInfo::compress(int $compression): bool

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

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

compression

Сжатие должно быть Phar::GZ или Phar::BZ2.

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

Возвращает 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
'Операции создания/изменения на my.phar завершились ошибкой: ', $e;
}
?>

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

bool(false)
bool(true)

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top