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 
'ошибка';
}
?>