ZipArchive::setCompressionName

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

ZipArchive::setCompressionName名前で定義されたエントリの圧縮メソッドを設定する

説明

public ZipArchive::setCompressionName(string $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';
}
?>