ZipArchive::getExternalAttributesIndex

(PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4)

ZipArchive::getExternalAttributesIndexRetrieve the external attributes of an entry defined by its index

说锟斤拷

ZipArchive::GetExternalAttributesIndex ( int $index , int &$opsys , int &$attr [, int $flags ] ) : bool

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