(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)
ZipArchive::setExternalAttributesName — Définit les attributs externes d'une entrée définie par son nom
$name,$opsys,$attr,$flags = 0Définit les attributs externes d'une entrée définie par son nom.
nameNom de l'entrée.
opsysCode du système d'exploitation, définie par une des constantes ZipArchive::OPSYS_.
attrAttributs externes, la valeur dépend du système d'exploitation.
flagsDrapeaux optionnels. Actuellement inutilisé.
Cet exemple crée une archive ZIP test.zip et ajoute le fichier test.txt ainsi que ses permissions Unix dans les attributs externes.
Exemple #1 Archiver un fichier avec ses droits Unix
<?php
$zip = new ZipArchive();
$stat = stat($filename='test.txt');
if (is_array($stat) && $zip->open('test.zip', ZipArchive::CREATE) === TRUE) {
$zip->addFile($filename);
$zip->setExternalAttributesName($filename, ZipArchive::OPSYS_UNIX, $stat['mode'] << 16);
$zip->close();
echo "Ok\n";
} else {
echo "KO\n";
}
?>