(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)
ZipArchive::setExternalAttributesName — Define os atributos externos de uma entrada definida pelo seu nome
$name
,$opsys
,$attr
,$flags
= 0Define os atributos externos de uma entrada definida pelo seu nome.
name
Nome da entrada.
opsys
O código do sistema operacional definido por uma das constantes ZipArchive::OPSYS_.
attr
Os atributos externos. O valor depende do sistema operacional.
flags
Opções opcionais. Atualmente não utilizado.
Este exemplo abre um arquivo ZIP test.zip e adiciona o arquivo test.txt com seus direitos Unix como atributos externos.
Exemplo #1 Arquivar um arquivo, com seus direitos 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";
}
?>