ZipArchive::getExternalAttributesIndex

(PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4)
Retrieve the external attributes of an entry defined by its index
bool ZipArchive::GetExternalAttributesIndex ( int $index, int &$opsys, int &$attr [, int $flags ] )

Retrieve the external attributes of an entry defined by its index.

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.

Returns:

Returns TRUE on success or FALSE on failure.

Examples:
Extract all entries with Unix rights

This example extract all the entries of a ZIP archive test.zip and set the Unix rights from external attributes.

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

doc_php
2016-02-24 15:55:40
Comments
Leave a Comment

Please login to continue.