ZipArchive::getExternalAttributesIndex
(PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4)
ZipArchive::getExternalAttributesIndex — Извлечь внешние атрибуты записи по ее индексу
Описание
$index
, int &$opsys
, int &$attr
, int $flags
= ?
) : boolИзвлекает внешние атрибуты записи по ее индексу.
Список параметров
-
index
-
Индекс записи.
-
opsys
-
В случае успеха сюда записывается код операционной системы, заданный одной из констант ZipArchive::OPSYS_.
-
attr
-
В случае успеха сюда записываются внешние атрибуты. Значения зависят от операционной системы.
-
flags
-
Если задано как
ZipArchive::FL_UNCHANGED
, будут возвращены оригинальные неизмененные атрибуты.
Возвращаемые значения
Возвращает true
в случае успешного завершения или false
в случае возникновения ошибки.
Примеры
В этом примере извлекаются все файлы из архива 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";
}
?>