ZipArchive::setCompressionName
PHP function
Edit on GitHub ✎
(PHP 7, PHP 8, PECL zip >= 1.13.0)
Set the compression method of an entry defined by its name
Description
ZipArchive::setCompressionName(string $name, int $method, int $compflags = 0): bool
Set the compression method of an entry defined by its name.
Parameters
nameName of the entry.
methodThe compression method, one of the
ZipArchive::CM_*constants.compflagsCompression level.
Return Values
Success
Examples
Add files with different compression methods to an archive
php
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
$zip->addFromString('foo', 'Some text');
$zip->addFromString('bar', 'Some other text');
$zip->setCompressionName('foo', ZipArchive::CM_STORE);
$zip->setCompressionName('bar', ZipArchive::CM_DEFLATE);
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>Add file and set compression method
php
<?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 'ok';
} else {
echo 'failed';
}
?>