(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";
}
?>