(PHP 7, PHP 8, PECL zip >= 1.13.0)
ZipArchive::setCompressionName — 名前で定義されたエントリの圧縮メソッドを設定する
$name
, int $method
, int $compflags
= 0): bool名前で定義されたエントリの圧縮メソッドを設定します。
name
エントリの名前
method
圧縮メソッド。
ZipArchive::CM_*
のいずれかです。
compflags
圧縮レベル
成功した場合に true
を、失敗した場合に false
を返します。
例1 アーカイブに異なる圧縮メソッドでファイルを追加する
<?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 ファイルを追加し、圧縮メソッドを設定する
<?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';
}
?>