PharData::compress
(PHP 5 >= 5.3.0, PHP 7, PECL phar >= 2.0.0)
PharData::compress — Сжимает весь архив tar/zip, используя сжатие Gzip или Bzip2
Описание
Для tar-архивов, этот метод произведет сжатие всего архива с помощью gzip или bzip2. Результирующий файл можно расжать с помощью команд gunzip или bunzip, либо использовать напрямую через расширение Phar.
Для zip-архивов этот метод выбросит исключение. Для gzip-сжатия должно быть доступно расширение zlib. Для bzip2-сжатия должно быть доступно расширение bzip2.
Этот метод переименовывает архив, добавляя к его имени расширение .gz
,
.bz2
или наоборот, убирающее его, если параметр типа сжатия задан как
Phar::NONE
. Также можно явно указать, какое расширение будет
иметь файл.
Список параметров
-
compression
-
Одна из констант:
Phar::GZ
,Phar::BZ2
, илиPhar::NONE
для отключения компрессии. -
extension
-
По умолчанию файлу назначится расширение
.tar.gz
или.tar.bz2
для сжатия и.tar
, если сжатие отключено.
Возвращаемые значения
Возвращает объект PharData.
Ошибки
Выбрасывает исключение BadMethodCallException если отсутствует необходимое расширение, zlib или bzip2.
Примеры
Пример #1 Пример использования PharData::compress()
<?php
$p = new PharData('/path/to/my.tar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.tar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.tar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.tar already exists
?>