(PHP 7, PECL zip >= 1.13.0)
ZipArchive::setCompressionName — Set the compression method of an entry defined by its name
public ZipArchive::setCompressionName ( string $name , int $comp_method [, int $comp_flags = 0 ] ) : bool
Set the compression method of an entry defined by its name.
name
Name of the entry.
comp_method
The compression method, one of the ZipArchive::CM_* constants.
comp_flags
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';
}
?>
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/ziparchive.setcompressionname.php