©
This document uses PHP Chinese website manual Release
(PHP 5 >= 5.6.0, PECL zip >= 1.12.4)
ZipArchive::getExternalAttributesIndex — Retrieve the external attributes of an entry defined by its index
$index
, int &$opsys
, int &$attr
[, int $flags
] )Retrieve the external attributes of an entry defined by its index.
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.
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
This example extract all the entries of a ZIP archive test.zip and set the Unix rights from external attributes.
Example #1 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 & 07777 ));
}
}
}
$zip -> close ();
echo "Ok\n" ;
} else {
echo "KO\n" ;
}
?>