(PHP 7, PHP 8, PECL zip >= 1.13.0)
ZipArchive::setCompressionName — Установить метод сжатия записи, заданной по имени
Устанавливает метод сжатия записи заданной по имени.
name
Имя записи.
method
Метод сжатия, одна из констант ZipArchive::CM_*
.
compflags
Уровень сжатия.
Функция возвращает true
, если выполнилась успешно, или false
, если возникла ошибка.
Пример #1 Добавить к архиву файлы с разными методами сжатия
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFromString('foo', 'Некоторый текст');
$zip->addFromString('bar', 'Некоторый другой текст');
$zip->setCompressionName('foo', ZipArchive::CM_STORE);
$zip->setCompressionName('bar', ZipArchive::CM_DEFLATE);
$zip->close();
echo 'готово';
} else {
echo 'ошибка';
}
?>
Пример #2 Добавить файл и установить метод сжатия
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFile('foo.jpg', 'bar.jpg');
$zip->setCompressionName('bar.jpg', ZipArchive::CM_XZ);
$zip->close();
echo 'готово';
} else {
echo 'ошибка';
}
?>