ZipArchive::setExternalAttributesName

Set the external attributes of an entry defined by its name

Description

bool ZipArchive::setExternalAttributesName ( string $name , int $opsys , int $attr [, int $flags ] )

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

Returns TRUE on success or FALSE on failure.

Examples

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

Example #1 Archive a file, with its Unix rights

<?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($filenameZipArchive::OPSYS_UNIX$stat['mode'] << 16);
    
$zip->close();
    echo 
"Ok\n";
} else {
    echo 
"KO\n";
}
?>