Phar::compressFiles

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

Phar::compressFiles — Стискає всі файли в поточному Phar-архіві

Опис

public Phar::compressFiles(int $compression): void

Зауваження :

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

У разі використання з phar-архівами, заснованими на tar, цей метод викидає виняток BadMethodCallException, оскільки стиснення окремих файлів усередині tar-архіву не підтримується цим форматом. Для стиснення цілого phar-архіву, заснованого на tar, використовуйте Phar::compress()

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

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

compression

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

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

Функція не повертає значення після виконання.

Помилки

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

Приклади

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

Loading...

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

string(10) "myfile.txt"
bool(false)
bool(false)
bool(false)
string(11) "myfile2.txt"
bool(false)
bool(false)
bool(false)
string(10) "myfile.txt"
int(4096)
bool(false)
bool(true)
string(11) "myfile2.txt"
int(4096)
bool(false)
bool(true)

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