(PHP 7, PHP 8, PECL zip >= 1.13.0)
ZipArchive::setCompressionName — Set the compression method of an entry defined by its name
Set the compression method of an entry defined by its name.
name
Name of the entry.
method
The compression method, one of the
ZipArchive::CM_*
constants.
compflags
Compression level.
Example #1 Add files with different compression methods to an archive
<?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';
}
?>
Example #2 Add file and set compression method
<?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';
}
?>