php8.5
Home/ Manual/ zip / ziparchive/ ZipArchive::setExternalAttributesName

ZipArchive::setExternalAttributesName

PHP function Edit on GitHub ✎

(PHP 5 >= 5.6.0, PHP 7, PHP 8, PECL zip >= 1.12.4)

Set the external attributes of an entry defined by its name

Description

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

Set the external attributes of an entry defined by its name.

Parameters

name

Name of the entry.

opsys

The operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

The external attributes. Value depends on operating system.

flags

Optional flags. Currently unused.

Return Values

Success

Examples

This example opens a ZIP file archive test.zip and add the file test.txt with its Unix rights as external attributes.

Archive a file, with its Unix rights

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

Source: reference/zip/ziparchive/setexternalattributesname.xml · from the official PHP manual (php/doc-en)