PHP Conference Japan 2024

ZipArchive::getExternalAttributesIndex

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

ZipArchive::getExternalAttributesIndexRé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";
}
?>
add a note

User Contributed Notes

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