(PHP 7, PHP 8, PECL zip >= 1.13.0)
ZipArchive::setCompressionName — Set the compression method of an entry defined by its name
$name
, int $method
, int $compflags
= 0): boolSet 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.
Returns true
on success or false
on failure.
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';}?>