PHP Conference Nagoya 2025

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): true

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

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

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)

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

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top