ZipArchive
PHP Manual

ZipArchive::getExternalAttributesIndex

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

ZipArchive::getExternalAttributesIndexObtener los atributos externos de una entrada definida por su índice

Descripción

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

Recuperar los atributos externos de una entrada definida por su índice.

Parámetros

index

El índice de la entrada.

opsys

En caso de éxito, recibe el código del sistema operativo definido por una de las constantes ZipArchive::OPSYS_.

attr

En caso de éxito, recibe los atributos externos. El valor dependerá del sistema operativo.

flags

Si flags se establece a ZipArchive::FL_UNCHANGED, se devuelven los atributos originales sin cambios.

Valores devueltos

Devuelve TRUE en caso de éxito o FALSE en caso de error.

Ejemplos

Este ejemplo extrae todas las entradas de un archivo ZIP test.zip y asigna los permisos Unix tomados de los atributos externos.

Ejemplo #1 Extraer todas las entradas con permisos Unix

<?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 07777));
            }
        }
    }
    
$zip->close();
    echo 
"Ok\n";
} else {
    echo 
"KO\n";
}
?>

ZipArchive
PHP Manual