(PHP 5 >= 5.6.0, PHP 7, PECL zip >= 1.12.4)
ZipArchive::setExternalAttributesName — Установка внешних атрибутов записи, заданной по имени
$name
, int $opsys
, int $attr
[, int $flags
] ) : boolУстановка внешних атрибутов записи, заданной по имени.
name
Имя записи.
opsys
Код операционной системы, определяется одной из констант ZipArchive::OPSYS_.
attr
Внешние атрибуты. Значение зависит от операционной системы.
flags
Необязательные флаги. В настоящее время не используется.
Возвращает TRUE
в случае успешного завершения или FALSE
в случае возникновения ошибки.
В этом примере открывается файл архива ZIP test.zip и к нему добавляется файл test.txt с правами Unix в виде внешних атрибутов.
Пример #1 Сжатие файла с его правами Unix
<?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 "готово\n";
} else {
echo "ошибка\n";
}
?>