ZipArchive::setCompressionName

(PHP 7, PECL zip >= 1.13.0)

ZipArchive::setCompressionNameУстановить метод сжатия записи, заданной по имени

Описание

public ZipArchive::setCompressionName ( string $name , int $comp_method , int $comp_flags = 0 ) : bool

Устанавливает метод сжатия записи заданной по имени.

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

name

Имя записи.

comp_method

Метод сжатия, одна из констант ZipArchive::CM_*.

comp_flags

Уровень сжатия.

Возвращаемые значения

Возвращает 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 
'ошибка';
}
?>