# ZipArchive::setExternalAttributesName

(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

### Descripción

public ZipArchive::setExternalAttributesName(
string `$name`,
int `$opsys`,
int `$attr`,
int `$flags` = 0
): bool

Establece los atributos externos de una entrada definida por su nombre.

### Parámetros

`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.

### Valores devueltos

Devuelve `true` en caso de éxito o `false` en caso de error.

### Ejemplos

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";
}
?>`