ZipArchive::getExternalAttributesIndex
Retrieve the external attributes of an entry defined by its index
&reftitle.description;
bool
ZipArchive::GetExternalAttributesIndex
intindex
intopsys
intattr
intflags
Retrieve the external attributes of an entry defined by its index.
&reftitle.parameters;
index
Index of the entry.
opsys
On success, receive the operating system code defined by one of the ZipArchive::OPSYS_ constants.
attr
On success, receive the external attributes. Value depends on operating system.
flags
If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged
attributes are returned.
&reftitle.returnvalues;
&return.success;
&reftitle.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
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";
}
?>
]]>