(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)
ZipArchive::setExternalAttributesName — Establece los atributos externos de una entrada definida por su nombre
Establece los atributos externos de una entrada definida por su nombre.
name
El nombre de la entrada.
opsys
El código del sistema operativo definido por una de las constantes ZipArchive::OPSYS_.
attr
Los atributos externos. El valor depende del sistema operativo.
flags
Banderas opcionales. Actualmente no se utiliza.
Este ejemplo abre un archivo comprimido ZIP test.zip y añade el fichero test.txt con sus permisos Unix como atributos externos.
Ejemplo #1 Archivar un fichero, con sus permisos 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";
}
?>