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