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.0 | extension тепер допускає значення null. |
Приклади
Приклад #1 Приклад використання Phar::compress()****
Loading...
Дивіться також
- PharFileInfo::getCompressedSize() - Отримати реальний розмір файлу на диску з урахуванням стиснення
- PharFileInfo::isCompressed() - Перевірити, чи стиснутий файл
- PharFileInfo::compress() - Стиснути поточний файл за допомогою zlib або bzip2
- PharFileInfo::decompress() - Розтискає поточний файл
- PharData::compress() - Стискає весь архів tar/zip, використовуючи стиснення Gzip або Bzip2
- Phar::canCompress() - Перевіряє, чи підтримує модуль phar стиск з використанням zlib або bzip2
- Phar::isCompressed() - Повертає Phar::GZ або PHAR::BZ2, якщо phar-архів стиснутий повністю (.tar.gz/tar.bz і так далі)
- Phar::decompress() - Розпаковує весь Phar-архів
- Phar::getSupportedCompression() - Повертає масив підтримуваних алгоритмів стиснення
- Phar::compressFiles() - Стискає всі файли у поточному Phar-архіві
- Phar::decompressFiles() - Розпаковує всі файли в поточному Phar-архіві