# Класс RarEntry

(PECL rar >= 0.1)

## Введение

Запись RAR, представляющая директорию или сжатый файл внутри архива RAR.

## Обзор класса

final class RarEntry {
/* Константы */
const int HOST_MSDOS = 0;
const int HOST_OS2 = 1;
const int HOST_WIN32 = 2;
const int HOST_UNIX = 3;
const int HOST_MACOS = 4;
const int HOST_BEOS = 5;
const int ATTRIBUTE_WIN_READONLY = 1;
const int ATTRIBUTE_WIN_HIDDEN = 2;
const int ATTRIBUTE_WIN_SYSTEM = 4;
const int ATTRIBUTE_WIN_DIRECTORY = 16;
const int ATTRIBUTE_WIN_ARCHIVE = 32;
const int ATTRIBUTE_WIN_DEVICE = 64;
const int ATTRIBUTE_WIN_NORMAL = 128;
const int ATTRIBUTE_WIN_TEMPORARY = 256;
const int ATTRIBUTE_WIN_SPARSE_FILE = 512;
const int ATTRIBUTE_WIN_REPARSE_POINT = 1024;
const int ATTRIBUTE_WIN_COMPRESSED = 2048;
const int ATTRIBUTE_WIN_OFFLINE = 4096;
const int ATTRIBUTE_WIN_NOT_CONTENT_INDEXED = 8192;
const int ATTRIBUTE_WIN_ENCRYPTED = 16384;
const int ATTRIBUTE_WIN_VIRTUAL = 65536;
const int ATTRIBUTE_UNIX_WORLD_EXECUTE = 1;
const int ATTRIBUTE_UNIX_WORLD_WRITE = 2;
const int ATTRIBUTE_UNIX_WORLD_READ = 4;
const int ATTRIBUTE_UNIX_GROUP_EXECUTE = 8;
const int ATTRIBUTE_UNIX_GROUP_WRITE = 16;
const int ATTRIBUTE_UNIX_GROUP_READ = 32;
const int ATTRIBUTE_UNIX_OWNER_EXECUTE = 64;
const int ATTRIBUTE_UNIX_OWNER_WRITE = 128;
const int ATTRIBUTE_UNIX_OWNER_READ = 256;
const int ATTRIBUTE_UNIX_STICKY = 512;
const int ATTRIBUTE_UNIX_SETGID = 1024;
const int ATTRIBUTE_UNIX_SETUID = 2048;
const int ATTRIBUTE_UNIX_FINAL_QUARTET = 61440;
const int ATTRIBUTE_UNIX_FIFO = 4096;
const int ATTRIBUTE_UNIX_CHAR_DEV = 8192;
const int ATTRIBUTE_UNIX_DIRECTORY = 16384;
const int ATTRIBUTE_UNIX_BLOCK_DEV = 24576;
const int ATTRIBUTE_UNIX_REGULAR_FILE = 32768;
const int ATTRIBUTE_UNIX_SYM_LINK = 40960;
const int ATTRIBUTE_UNIX_SOCKET = 49152;
/* Методы */
public function extract(
string `$dir`,
string `$filepath` = "",
string `$password` = NULL,
bool `$extended_data` = `false`
): bool
public function getAttr(): int
public function getCrc(): string
public function getFileTime(): string
public function getHostOs(): int
public function getMethod(): int
public function getName(): string
public function getPackedSize(): int
public function getStream(string `$password` = ?): resource|false
public function getUnpackedSize(): int
public function getVersion(): int
public function isDirectory(): bool
public function isEncrypted(): bool
public function __toString(): string
}

## Предопределённые константы

`RarEntry::HOST_MSDOS`
  Если возвращённое значение RarEntry::getHostOs() равно этой константе, значит эта запись была добавлена в MS-DOS. Введена для замены `RAR_HOST_MSDOS`.
`RarEntry::HOST_OS2`
  Если возвращённое значение RarEntry::getHostOs() равно этой константе, значит эта запись была добавлена в OS/2. Введена для замены `RAR_HOST_OS2`.
`RarEntry::HOST_WIN32`
  Если возвращённое значение RarEntry::getHostOs() равно этой константе, значит эта запись была добавлена в Microsoft Windows. Введена для замены `RAR_HOST_WIN32`.
`RarEntry::HOST_UNIX`
  Если возвращённое значение RarEntry::getHostOs() равно этой константе, значит эта запись была добавлена в UNIX. Введена для замены `RAR_HOST_UNIX`.
`RarEntry::HOST_MACOS`
  Если возвращённое значение RarEntry::getHostOs() равно этой константе, значит эта запись была добавлена в Mac OS.
`RarEntry::HOST_BEOS`
  Если возвращённое значение RarEntry::getHostOs() равно этой константе, значит эта запись была добавлена в BeOS. Введена для замены `RAR_HOST_BEOS`.
`RarEntry::ATTRIBUTE_WIN_READONLY`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "read-only" для записей Windows.
`RarEntry::ATTRIBUTE_WIN_HIDDEN`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "hidden" для записей Windows.
`RarEntry::ATTRIBUTE_WIN_SYSTEM`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "system" для записей Windows.
`RarEntry::ATTRIBUTE_WIN_DIRECTORY`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "directory" (является директорией) для записей Windows. Также смотрите описание метода RarEntry::isDirectory(), который также работает с записями, добавленными не через WinRAR.
`RarEntry::ATTRIBUTE_WIN_ARCHIVE`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "archive" для записей Windows.
`RarEntry::ATTRIBUTE_WIN_DEVICE`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "device" для записей Windows.
`RarEntry::ATTRIBUTE_WIN_NORMAL`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "normal file" (НЕ является директорией) для записей Windows. Также смотрите описание метода RarEntry::isDirectory(), который также работает с записями, добавленными не через WinRAR.
`RarEntry::ATTRIBUTE_WIN_TEMPORARY`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "temporary" для записей Windows.
`RarEntry::ATTRIBUTE_WIN_SPARSE_FILE`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "sparse file" (разреженный файл NTFS) для записей Windows.
`RarEntry::ATTRIBUTE_WIN_REPARSE_POINT`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "reparse point" (файл точки повторной обработки NTFS, т.е. пересечение директорий или точка монтирования файловой системы) для записей Windows.
`RarEntry::ATTRIBUTE_WIN_COMPRESSED`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "compressed" (только NTFS) для записей Windows.
`RarEntry::ATTRIBUTE_WIN_OFFLINE`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "offline" (запись отключена и недоступна) для записей Windows.
`RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "not content indexed" (запись должна быть проиндексирована) для записей Windows.
`RarEntry::ATTRIBUTE_WIN_ENCRYPTED`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "encrypted" (только NTFS) для записей Windows.
`RarEntry::ATTRIBUTE_WIN_VIRTUAL`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "virtual" (только NTFS) для записей Windows.
`RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "executable" для всех для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "writable" для всех для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_WORLD_READ`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "readable" для всех для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "executable" для группы для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "writable" для группы для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_GROUP_READ`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "readable" для группы для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "executable" для владельца для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "writable" для владельца для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_OWNER_READ`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с атрибутом "readable" для владельца для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_STICKY`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с установленным "sticky bit" для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_SETGID`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с установленным "setgid" для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_SETUID`
  Используется с RarEntry::getAttr(). Бит, представляющий запись с установленным "setuid" для записей UNIX.
`RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`
  Маска для изоляции четырёх последних бит (полубайт) для атрибутов UNIX (_S_IFMT, тип файловой маски). Используется с RarEntry::getAttr() и константами `RarEntry::ATTRIBUTE_UNIX_FIFO`, `RarEntry::ATTRIBUTE_UNIX_CHAR_DEV`, `RarEntry::ATTRIBUTE_UNIX_DIRECTORY`, `RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV`, `RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE`, `RarEntry::ATTRIBUTE_UNIX_SYM_LINK` и `RarEntry::ATTRIBUTE_UNIX_SOCKET`.
`RarEntry::ATTRIBUTE_UNIX_FIFO`
  Специальные файлы FIFO в Unix будут иметь это значение в четырёх последних битах. Используется с RarEntry::getAttr() и константой `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.
`RarEntry::ATTRIBUTE_UNIX_CHAR_DEV`
  Специальные файлы символьных устройств в Unix будут иметь это значение в четырёх последних битах. Используется с RarEntry::getAttr() и константой `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.
`RarEntry::ATTRIBUTE_UNIX_DIRECTORY`
  Директории в Unix будут иметь это значение в четырёх последних битах. Используется с RarEntry::getAttr() и константой `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`. Также смотрите описание метода RarEntry::isDirectory(), который также работает с записями добавленными в других операционных системах.
`RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV`
  Специальные файлы блочных устройств в Unix будут иметь это значение в четырёх последних битах. Используется с RarEntry::getAttr() и константой `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.
`RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE`
  Обычные файлы (не директории) в Unix будут иметь это значение в четырёх последних битах. Используется с RarEntry::getAttr() и константой `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`. Также смотрите описание метода RarEntry::isDirectory(), который также работает с записями добавленными в других операционных системах.
`RarEntry::ATTRIBUTE_UNIX_SYM_LINK`
  Символические ссылки в Unix будут иметь это значение в четырёх последних битах. Используется с RarEntry::getAttr() и константой `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.
`RarEntry::ATTRIBUTE_UNIX_SOCKET`
  Специальные файлы сокетов в Unix будут иметь это значение в четырёх последних битах. Используется с RarEntry::getAttr() и константой `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.

## Содержание

- RarEntry::extract — Извлекает элемент из архива
- RarEntry::getAttr — Возвращает атрибуты элемента архива
- RarEntry::getCrc — Возвращает CRC элемента архива
- RarEntry::getFileTime — Возвращает последнее время изменения элемента
- RarEntry::getHostOs — Возвращает оригинальную ОС элемента
- RarEntry::getMethod — Возвращает метод компрессии элемента
- RarEntry::getName — Возвращает имя элемента
- RarEntry::getPackedSize — Возвращает размер сжатого элемента
- RarEntry::getStream — Получить обработчик для записи
- RarEntry::getUnpackedSize — Возвращает размер элемента в распакованном состоянии
- RarEntry::getVersion — Возвращает минимальную версию программы RAR, необходимую для распаковки элемента
- RarEntry::isDirectory — Проверяет, является ли запись директорией
- RarEntry::isEncrypted — Проверяет, зашифрована ли запись
- RarEntry::__toString — Получить текстовое представление записи

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