array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'de', ), 'this' => array ( 0 => 'ziparchive.getexternalattributesindex.php', 1 => 'ZipArchive::getExternalAttributesIndex', 2 => 'Retrieve the external attributes of an entry defined by its index', ), 'up' => array ( 0 => 'class.ziparchive.php', 1 => 'ZipArchive', ), 'prev' => array ( 0 => 'ziparchive.getcommentname.php', 1 => 'ZipArchive::getCommentName', ), 'next' => array ( 0 => 'ziparchive.getexternalattributesname.php', 1 => 'ZipArchive::getExternalAttributesName', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/zip/ziparchive/getexternalattributesindex.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>

ZipArchive::getExternalAttributesIndex

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

ZipArchive::getExternalAttributesIndexRetrieve the external attributes of an entry defined by its index

Beschreibung

public ZipArchive::getExternalAttributesIndex(
    int $index,
    int &$opsys,
    int &$attr,
    int $flags = 0
): bool

Retrieve the external attributes of an entry defined by its index.

Parameter-Liste

index

Index of the entry.

opsys

On success, receive the operating system code defined by one of the ZipArchive::OPSYS_ constants.

attr

On success, receive the external attributes. Value depends on operating system.

flags

If flags is set to ZipArchive::FL_UNCHANGED, the original unchanged attributes are returned.

Rückgabewerte

Gibt bei Erfolg true zurück. Bei einem Fehler wird false zurückgegeben.

Beispiele

This example extract all the entries of a ZIP archive test.zip and set the Unix rights from external attributes.

Beispiel #1 Extract all entries with Unix rights

<?php
$zip
= new ZipArchive();
if (
$zip->open('test.zip') === TRUE) {
for (
$idx=0 ; $s = $zip->statIndex($idx) ; $idx++) {
if (
$zip->extractTo('.', $s['name'])) {
if (
$zip->getExternalAttributesIndex($idx, $opsys, $attr)
&&
$opsys==ZipArchive::OPSYS_UNIX) {
chmod($s['name'], ($attr >> 16) & 0777);
}
}
}
$zip->close();
echo
"Ok\n";
} else {
echo
"KO\n";
}
?>