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