PHP8 ZipArchive::getExternalAttributesIndex
(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)
ZipArchive::getExternalAttributesIndex — 检索由其索引定义的条目的外部属性
说明
public ZipArchive::getExternalAttributesIndex(
int $index,
int &$opsys,
int &$attr,
int $flags = 0
): bool
检索由其索引定义的条目的外部属性。
参数
index
条目的索引。
opsys
成功后,接收由 ZipArchive::OPSYS_ 常量之一定义的操作系统代码。
attr
成功后,接收外部属性。值取决于操作系统。
flags
如果 flags 设置为
ZipArchive::FL_UNCHANGED
,则原始保持不变 返回属性。
返回值
成功时返回 true, 或者在失败时返回 false。
示例
本示例提取 ZIP 的所有条目 archive 和 从外部属性设置 Unix 权限。test.zip
示例 #1 提取所有具有 Unix 权限的条目
<?php
$zip = new ZipArchive();
if ($zip->open('test.zip') === TRUE) {
for ($idx=0 ; $s = $zip->statIndex($idx) ; $idx++) {
if ($zip->extractTo('.', $s['name'])) {
if ($zip->getExternalAttributesIndex($idx, $opsys, $attr)
&& $opsys==ZipArchive::OPSYS_UNIX) {
chmod($s['name'], ($attr >> 16) & 0777);
}
}
}
$zip->close();
echo "Ok\n";
} else {
echo "KO\n";
}
?>