# La classe RarEntry

(PECL rar >= 0.1)

## Introduction

Une entrée RAR, représentant un dossier ou un fichier compressé dans une archive RAR.

## Synopsis de la classe

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éthodes */
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 pré-définies

`RarEntry::HOST_MSDOS`

  Si la valeur retournée de RarEntry::getHostOs() est égal à cette constante, MS-DOS est utilisé pour ajouter cette entrée. Destiner à remplacer la constante `RAR_HOST_MSDOS`.

`RarEntry::HOST_OS2`

  Si la valeur retournée de RarEntry::getHostOs() est égal à cette constante, OS/2 est utilisé pour ajouter cette entrée. Destiner à remplacer la constante `RAR_HOST_OS2`.

`RarEntry::HOST_WIN32`

  Si la valeur retournée de RarEntry::getHostOs() est égal à cette constante, Microsoft Windows est utilisé pour ajouter cette entrée. Destiner à remplacer la constante `RAR_HOST_WIN32`.

`RarEntry::HOST_UNIX`

  Si la valeur retournée de RarEntry::getHostOs() est égal à cette constante, UNIX OS est utilisé pour ajouter cette entrée. Destiner à remplacer la constante `RAR_HOST_UNIX`.

`RarEntry::HOST_MACOS`

  Si la valeur retournée de RarEntry::getHostOs() est égal à cette constante, Mac OS est utilisé pour ajouter cette entrée.

`RarEntry::HOST_BEOS`

  Si la valeur retournée de RarEntry::getHostOs() est égal à cette constante, BeOS est utilisé pour ajouter cette entrée. Destiner à remplacer la constante `RAR_HOST_BEOS`.

`RarEntry::ATTRIBUTE_WIN_READONLY`

  Octet représentant une entrée Windows avec un attribut en lecture seule. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_HIDDEN`

  Octet représentant une entrée Windows avec un attribut caché. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_SYSTEM`

  Octet représentant une entrée Windows avec un attribut système. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_DIRECTORY`

  Octet représentant une entrée Windows avec un attribut dossier (l'entrée est un dossier). À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows. Voir aussi la méthode RarEntry::isDirectory(), qui fonctionne également avec les entrées qui ne sont pas ajoutées dans WinRAR.

`RarEntry::ATTRIBUTE_WIN_ARCHIVE`

  Octet représentant une entrée Windows avec un attribut d'archive. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_DEVICE`

  Octet représentant une entrée Windows avec un attribut de périphérique. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_NORMAL`

  Octet représentant une entrée Windows avec un attribut de fichier normal (l'entrée n'est pas un dossier). À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows. Voir aussi la méthode RarEntry::isDirectory(), qui fonctionne également avec les entrées qui ne sont pas ajoutées dans WinRAR.

`RarEntry::ATTRIBUTE_WIN_TEMPORARY`

  Octet représentant une entrée Windows avec un attribut temporaire. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_SPARSE_FILE`

  Octet représentant une entrée Windows avec un attribut de fichier fragmenté (le fichier est un fichier NTFS fragmenté). À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_REPARSE_POINT`

  Octet représentant une entrée Windows avec un attribut de point d'analyse (le fichier est un point d'analyse NTFS; i.e. une jonction de dossier ou un système de fichier monté). À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_COMPRESSED`

  Octet représentant une entrée Windows avec un attribut compressé (NTFS uniquement). À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_OFFLINE`

  Octet représentant une entrée Windows avec un attribut hors-ligne (le fichier est hors-ligne et non accessible). À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_NOT_CONTENT_INDEXED`

  Octet représentant une entrée Windows avec un attribut dont le contenu n'est pas indexé (l'entrée doit être indexé). À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_ENCRYPTED`

  Octet représentant une entrée Windows avec un attribut crypté (NTFS uniquement). À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_WIN_VIRTUAL`

  Octet représentant une entrée Windows avec un attribut virtuel. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est Microsoft Windows.

`RarEntry::ATTRIBUTE_UNIX_WORLD_EXECUTE`

  Octet représentant une entrée UNIX qui est exéctuable par tous. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_WORLD_WRITE`

  Octet représentant une entrée UNIX qui est accessible en écriture par tous. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_WORLD_READ`

  Octet représentant une entrée UNIX qui est accessible en lecture par tous. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_GROUP_EXECUTE`

  Octet représentant une entrée UNIX qui est dans le groupe des exécutables. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_GROUP_WRITE`

  Octet représentant une entrée UNIX qui est dans le groupe des accessibles en écriture. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_GROUP_READ`

  Octet représentant une entrée UNIX qui est dans le groupe des accessibles en lecture. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_OWNER_EXECUTE`

  Octet représentant une entrée UNIX dont le propriétaire est exécutable. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_OWNER_WRITE`

  Octet représentant une entrée UNIX dont le propriétaire est accessible en écriture. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_OWNER_READ`

  Octet représentant une entrée UNIX dont le propriétaire est accessible en lecture. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_STICKY`

  Octet représentant une entrée UNIX ayant l'octet sticky. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_SETGID`

  Octet représentant une attribut UNIX setgid. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_SETUID`

  Octet représentant une attribut UNIX setuid. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX.

`RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`

  Masque permettant d'isoler les 4 derniers octets (nibble) des attributs UNIX (_S_IFMT, le type du masque de fichier). À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX et avec les 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` et `RarEntry::ATTRIBUTE_UNIX_SOCKET`.

`RarEntry::ATTRIBUTE_UNIX_FIFO`

  Attributs FIFOs Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX et avec la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.

`RarEntry::ATTRIBUTE_UNIX_CHAR_DEV`

  Attributs des périphériques Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX et avec la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.

`RarEntry::ATTRIBUTE_UNIX_DIRECTORY`

  Attributs des dossiers Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX et avec la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`. Voir aussi la méthode RarEntry::isDirectory() qui fonctionne également avec les entrées qui ont été ajoutées sous d'autres système d'exploitation.

`RarEntry::ATTRIBUTE_UNIX_BLOCK_DEV`

  Attributs des périphériques de bloc Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX et avec la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.

`RarEntry::ATTRIBUTE_UNIX_REGULAR_FILE`

  Attributs des fichiers réguliers (pas de dossiers) Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX et avec la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`. Voir aussi la méthode RarEntry::isDirectory() qui fonctionne également avec les entrées qui ont été ajoutées sous d'autres système d'exploitation.

`RarEntry::ATTRIBUTE_UNIX_SYM_LINK`

  Attributs des liens symboliques Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX et avec la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.

`RarEntry::ATTRIBUTE_UNIX_SOCKET`

  Attributs des sockets Unix dont les 4 derniers octets ont cette valeur. À utiliser avec la méthode RarEntry::getAttr() sur les entrées dont l'OS hôte est UNIX et avec la constante `RarEntry::ATTRIBUTE_UNIX_FINAL_QUARTET`.

## Sommaire

- RarEntry::extract — Extrait une entrée d'une archive
- RarEntry::getAttr — Récupère les attributs d'une entrée
- RarEntry::getCrc — Récupère le CRC d'une entrée
- RarEntry::getFileTime — Récupère la date de dernière modification d'une entrée
- RarEntry::getHostOs — Récupère le code de l'hôte pour une entrée
- RarEntry::getMethod — Récupère la méthode utilisée pour l'ajout d'une entrée
- RarEntry::getName — Récupère le nom de l'entrée
- RarEntry::getPackedSize — Récupère la taille compressée d'une entrée
- RarEntry::getStream — Récupère le gestion de fichier pour une entrée
- RarEntry::getUnpackedSize — Récupère la taille décompressée d'une entrée
- RarEntry::getVersion — Récupère la version minimale du logiciel RAR à utiliser pour décompresser une entrée
- RarEntry::isDirectory — Teste si l'entrée courante est un dossier
- RarEntry::isEncrypted — Teste si une entrée est cryptée
- RarEntry::__toString — Récupère une représentation sous forme de chaîne de caractères d'une entrée