(PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4)
ZipArchive::getExternalAttributesIndex — Récupère les attributs étendus d'une entrée définie par son index
$index
, int &$opsys
, int &$attr
[, int $flags
] )Récupére les attributs étendus d'une entrée définie par son index.
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 étendus, la valeur dépend du système d'exploitation.
flags
Si cet indicateur est positionné à ZipArchive::FL_UNCHANGED
,
les valeurs originales sont retournées.
Cette fonction retourne TRUE
en cas de
succès ou FALSE
si une erreur survient.
Cet exemple extrait toutes les entrées de l'archive ZIP test.zip et positionne les droits Unix à partir des attributs étendus.
Exemple #1 Extrait les entrées et 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";
}
?>