ZipArchive::getExternalAttributesIndex
(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)
Retrieve the external attributes of an entry defined by its index
Description
Retrieve the external attributes of an entry defined by its index.
Parameters
indexIndex of the entry.
opsysOn success, receive the operating system code defined by one of the ZipArchive::OPSYS_ constants.
attrOn success, receive the external attributes. Value depends on operating system.
flagsIf flags is set to
ZipArchive::FL_UNCHANGED, the original unchanged attributes are returned.
Return Values
Success
Examples
This example extract all the entries of a ZIP archive test.zip and set the Unix rights from external attributes.
Extract all entries with Unix rights
<?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";
}
?>