(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.
nameopsysattrflagsCet 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";
}
?>