(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)
ZipArchive::setExternalAttributesName — 名前で定義されたエントリの外部属性を設定する
$name
,$opsys
,$attr
,$flags
= 0名前で定義されたエントリの外部属性を設定します。
name
エントリの名前
opsys
ZipArchive::OPSYS_ 定数のうちのひとつで定義された、 オペレーティングシステムコード
attr
外部属性。 値はオペレーティングシステム依存です。
flags
オプションのフラグ。現在は使われていません。
この例は、ZIPファイルアーカイブ test.zip を開き、 ファイル test.txt を 外部属性として Unix権限を付けて追加しています。
例1 Unix権限付きでファイルをアーカイブする
<?php
$zip = new ZipArchive();
$stat = stat($filename='test.txt');
if (is_array($stat) && $zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
$zip->addFile($filename);
$zip->setExternalAttributesName($filename, ZipArchive::OPSYS_UNIX, $stat['mode'] << 16);
$zip->close();
echo "Ok\n";
} else {
echo "KO\n";
}
?>