Phar::compress

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

Phar::compress — Стискає весь Phar-архів за допомогою Gzip- або Bzip2-стиснення

Опис

public Phar::compress(int $compression, ?string $extension = null): ?Phar

Зауваження :

Для коректної роботи з об'єктами Phar цьому методу необхідне встановлення значення php.ini phar.readonlyв . В іншому випадку, буде викинуто виняток PharException

У разі використання з phar-архівами, заснованими на tar або phar, цей метод стискає весь архів, використовуючи gzip- або bzip2-стиск. Отриманий файл може бути оброблений однією з команд gunzip/bunzip; до нього можна отримати прямий доступ, використовуючи модуль Phar.

У разі використання з phar-архівами, що базуються на zip, виклик цього методу зазнає невдачі і буде кинуто виняток. Для стиснення за алгоритмом gzip має бути включений модуль zlib. Для стиснення алгоритму bzip2 повинен бути включений модуль bzip2. Як і у випадку з іншим функціоналом, що модифікує зміст phar-архіву, для успішної роботи даного методу необхідно, щоб INI-змінна phar.readonly було відключено.

Крім того, цей метод автоматично перейменовує архів, додаючи .gz .bz2 або видаляючи розширення, якщо перший параметр був переданий Phar::NONE, що повідомляє про необхідність розпакування. Як альтернатива розширення файлу може бути задано за допомогою другого параметра.

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

compression

Стиснення має бути визначено однією з констант: Phar::GZ Phar::BZ2для использования соответствующего алгоритма сжатия, илиPhar::NONE для розпакування.

extension

Для сжатия phar-архивов по умолчанию используется расширение.phar.gzили.phar.bz2, а для сжатия tar-архивов —.phar.tar.gzили.phar.tar.bz2. У разі розпакування, розширеннями за замовчуванням є .pharи.phar.tar

Значення, що повертаються

Повертає об'єкт Pharили**null**в случае возникновения ошибки.

Помилки

Викидає виняток BadMethodCallException, если INI-переменнаяphar.readonlyвключена, модульzlib не доступний або модуль bzip2 не увімкнуто.

список змін

ВерсияОпис
8.0.0extension тепер допускає значення null.

Приклади

Приклад #1 Приклад використання Phar::compress()****

Loading...

Дивіться також