Извлекает внешние атрибуты записи по её индексу

# ZipArchive::getExternalAttributesIndex

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

ZipArchive::getExternalAttributesIndex — Извлекает внешние атрибуты записи по её индексу

### Описание

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

Извлекает внешние атрибуты записи по её индексу.

### Список параметров

`index`
  Индекс записи.
`opsys`
  В случае успешного выполнения сюда записывается код операционной системы, заданный одной из констант ZipArchive::OPSYS_.
`attr`
  В случае успешного выполнения сюда записываются внешние атрибуты. Значения зависят от операционной системы.
`flags`
  Если задано как `ZipArchive::FL_UNCHANGED`, будут возвращены оригинальные неизмененные атрибуты.

### Возвращаемые значения

Функция возвращает `true`, если выполнилась успешно, или `false`, если возникла ошибка.

### Примеры

В этом примере метод извлекает все файлы из ZIP-архива test.zip и устанавливает им права Unix, полученные из внешних атрибутов.

Пример #1 Извлекаем все записи с их правами Unix

    <?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 "готово\n";
    } else {
        echo "ошибка\n";
    }
    ?>

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open