array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'ziparchive.setcompressionname.php', 1 => 'ZipArchive::setCompressionName', 2 => 'Set the compression method of an entry defined by its name', ), 'up' => array ( 0 => 'class.ziparchive.php', 1 => 'ZipArchive', ), 'prev' => array ( 0 => 'ziparchive.setcompressionindex.php', 1 => 'ZipArchive::setCompressionIndex', ), 'next' => array ( 0 => 'ziparchive.setencryptionindex.php', 1 => 'ZipArchive::setEncryptionIndex', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/zip/ziparchive/setcompressionname.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>

ZipArchive::setCompressionName

(PHP 7, PHP 8, PECL zip >= 1.13.0)

ZipArchive::setCompressionNameSet the compression method of an entry defined by its name

说明

public ZipArchive::setCompressionName(string $name, int $method, int $compflags = 0): bool

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.

返回值

成功时返回 true, 或者在失败时返回 false

示例

示例 #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';
}
?>

示例 #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';
}
?>