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