# La clase RarEntry

(PECL rar >= 0.1)

## Introducción

Una entrada RAR, representa un directorio o un archivo comprimido dentro de un archivo RAR.

## Sinopsis de la Clase

final class RarEntry {
/* Constantes */
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;
/* Métodos */
public extract(
string `$dir`,
string `$filepath` = "",
string `$password` = NULL,
bool `$extended_data` = `false`
): bool
public getAttr(): int
public getCrc(): string
public getFileTime(): string
public getHostOs(): int
public getMethod(): int
public getName(): string
public getPackedSize(): int
public getStream(string `$password` = ?): resource|false
public getUnpackedSize(): int
public getVersion(): int
public isDirectory(): bool
public isEncrypted(): bool
public __toString(): string
}

## Constantes predefinidas

`RarEntry::HOST_MSDOS`

  Si el valor devuelto por RarEntry::getHostOs() es igual a esta constante, MS-DOS fue utilizado para añadir esta entrada. Utilizar en lugar de `RAR_HOST_MSDOS`.

`RarEntry::HOST_OS2`

  Si el valor devuelto por RarEntry::getHostOs() es igual a esta constante, OS/2 fue utilizado para añadir esta entrada. Destinado para sustituir a `RAR_HOST_OS2`.

`RarEntry::HOST_WIN32`

  Si el valor devuelto por RarEntry::getHostOs() es igual a esta constante, Microsoft Windows fue utilizado para añadir esta entrada. Destinado para sustituir a `RAR_HOST_WIN32`.

`RarEntry::HOST_UNIX`

  Si el valor devuelto por RarEntry::getHostOs() es igual a esta constante, un Sistema Operativo UNIX no especificado fue utilizado para añadir esta entrada. Destinado para sustituir a `RAR_HOST_UNIX`.

`RarEntry::HOST_MACOS`

  Si el valor devuelto por RarEntry::getHostOs() es igual a esta constante, un Sistema Operativo Mac fue utilizado para añadir esta entrada.

`RarEntry::HOST_BEOS`

  Si el valor devuelto por RarEntry::getHostOs() es igual a esta constante, un Sistema Operativo BeOS fue utilizado para añadir esta entrada. Destinado para sustituir a `RAR_HOST_BEOS`.

`RarEntry::ATTRIBUTE_WIN_READONLY`

  Bit que representa una entrada de Windows con un atributo de sólo lectura. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_HIDDEN`

  Bit que representa una entrada de Windows con un atributo oculto. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_SYSTEM`

  Bits que representa una entrada de Windows con un atributo del sistema. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_DIRECTORY`

  Bit que representa una entrada de Windows con un atributo de directorio (entrada es un directorio). Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows. Véase también RarEntry::isDirectory(), que también trabaja con entradas que no fueron añadidas en WinRAR.

`RarEntry::ATTRIBUTE_WIN_ARCHIVE`

  Bit que representa una entrada de Windows con un atributo de archivo. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_DEVICE`

  Bit que representa una entrada de Windows con un atributo de dispositivo. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_NORMAL`

  Bit que representa una entrada de Windows con un atributo de archivo normal (entrada NO es un directorio). Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows. Véase también RarEntry::isDirectory(), que también trabaja con entradas que no fueron añadidas en WinRAR.

`RarEntry::ATTRIBUTE_WIN_TEMPORARY`

  Bit que representa una entrada de Windows con un atributo temporal. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_SPARSE_FILE`

  Bit que representa una entrada de Windows con un atributo de archivo disperso (archivo es un archivo disperso NTFS). Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_REPARSE_POINT`

  Bit que representa una entrada de Windows con un atributo punto de re-análisis (entrada es un punto de re-análisis NTFS, por ejemplo, un directorio enlace o un sistema de montaje de archivos). Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_COMPRESSED`

  Bit que representa una entrada de Windows con un atributo comprimido (sólo NTFS). Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_OFFLINE`

  Bit que representa una entrada de Windows con un atributo fuera de línea (entrada es desconectada y no accesible). Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED`

  Bit que representa una entrada de Windows con un atributo de contenido no indexado (entrada deberá ser indexada). Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_ENCRYPTED`

  Bit que representa una entrada de Windows con un atributo cifrado (sólo NTFS). Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_VIRTUAL`

  Bit que representa una entrada de Windows con un atributo virtual. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es Microsoft Windows.

`RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE`

  Bit que representa una entrada que es ejecutable en el mundo UNIX. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE`

  Bit que representa una entrada que es escribible en el mundo UNIX. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_WORLD_READ`

  Bit que representa una entrada que es leible en el mundo UNIX. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE`

  Bit que representa una entrada UNIX que es grupo ejecutable. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE`

  Bit que representa una entrada UNIX que es grupo escribible. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_GROUP_READ`

  Bit que representa una entrada UNIX que es grupo leible. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE`

  Bit que representa una entrada UNIX que es propietario ejecutable. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE`

  Bit que representa una entrada UNIX que es propietario escribible. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_OWNER_READ`

  Bit que representa una entrada UNIX que es propietario leible. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_STICKY`

  Bit que representa el sticky bit UNIX. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_SETGID`

  Bit que representa el atributo UNIX setgid. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_SETUID`

  Bit que representa el atributo UNIX setuid. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX.

`RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`

  Máscara para aislar a los últimos cuatro bits (nibble) de atributos UNIX (_S_IFMT, el tipo de máscara de archivo). Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX y con las constantes `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` and `RarEntry::ATTRIBUTE_UNIX_SOCKET`.

`RarEntry::ATTRIBUTE_UNIX_FIFO`

  FIFOs Unix tendrá atributos cuyos últimos cuatro bits tienen este valor. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX y con la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.

`RarEntry::ATTRIBUTE_UNIX_CHAR_DEV`

  Dispositivo de tipo carácter Unix tendrá atributos cuyos últimos cuatro bits tienen este valor. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX y con la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.

`RarEntry::ATTRIBUTE_UNIX_DIRECTORY`

  Directorios Unix tendrá atributos cuyos últimos cuatro bits tienen este valor. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX y con la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`. Véase también RarEntry::isDirectory(), que también trabaja con entradas que fueron añadidas en otros sistemas operativos.

`RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV`

  Dispositivo de tipo bloque Unix tendrá atributos cuyos últimos cuatro bits tienen este valor. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX y con la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.

`RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE`

  Archivos regular Unix (no directorios) tendrá atributos cuyos últimos cuatro bits tienen este valor. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX y con la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`. Véase también RarEntry::isDirectory(), ue también trabaja con entradas que fueron añadidas en otros sistemas operativos.

`RarEntry::ATTRIBUTE_UNIX_SYM_LINK`

  Enlace simbólico Unix tendrá atributos cuyos últimos cuatro bits tienen este valor. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX y con la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.

`RarEntry::ATTRIBUTE_UNIX_SOCKET`

  Sockets Unix will tendrá atributos cuyos últimos cuatro bits tienen este valor. Para ser utilizado con RarEntry::getAttr() en entradas cuyo sistema operativo anfitrión es UNIX y con la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.

## Tabla de contenidos

- RarEntry::extract — Extraer entrada del archivo
- RarEntry::getAttr — Obtener los atributos de la entrada
- RarEntry::getCrc — Obtener el CRC de la entrada
- RarEntry::getFileTime — Devolver entrada última fecha de modificación
- RarEntry::getHostOs — Obtener sistema operativo anfitrión del archivo de entrada
- RarEntry::getMethod — Obtener método pack de la entrada
- RarEntry::getName — Obtener el nombre de la entrada
- RarEntry::getPackedSize — Obtiene el tamaño empaquetado de la entrada
- RarEntry::getStream — Obtener manejador de archivo para entrada
- RarEntry::getUnpackedSize — Obtener el tamaño descomprimido de la entrada
- RarEntry::getVersion — Obtener la versión mínima del programa RAR requerida para desempaquetar la entrada
- RarEntry::isDirectory — Comprobar si una entrada representa un directorio
- RarEntry::isEncrypted — Comprobar si una entrada está cifrada
- RarEntry::__toString — Obtener texto representación de entrada