# ZipArchive::getExternalAttributesIndex

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

ZipArchive::getExternalAttributesIndex — Récupère les attributs externes d'une entrée définie par son index

### Description

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

Récupére les attributs externes d'une entrée définie par son index.

### Liste de paramètres

`index`

  Index de l'entrée.

`opsys`

  En cas de succès, récupère le code du système d'exploitation défini par une des constantes ZipArchive::OPSYS_.

`attr`

  En cas de succès, récupère les attributs externes, la valeur dépend du système d'exploitation.

`flags`

  Si ce drapeau est positionné à `ZipArchive::FL_UNCHANGED`, les attributs originaux inchangé sont retournées.

### Valeurs de retour

Cette fonction retourne `true` en cas de succès ou `false` si une erreur survient.

### Exemples

Cet exemple extrait toutes les entrées de l'archive ZIP test.zip et définit les droits Unix à partir des attributs externes.

Exemple #1 Extrait toutes les entrées avec leurs droits 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";
}
?>`