PHP Conference Nagoya 2025

ZipArchive::getExternalAttributesIndex

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

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

Descripción

public ZipArchive::getExternalAttributesIndex(
    int $index,
    int &$opsys,
    int &$attr,
    int $flags = 0
): bool

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=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 >> 16) & 0777);
}
}
}
$zip->close();
echo
"Ok\n";
} else {
echo
"KO\n";
}
?>
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top