(PECL rar >= 0.1)
RarEntry::extract — Extrait une entrée d'une archive
$dir
   [, string $filepath = ''
   [, string $password = NULL
   [, bool $extended_data = false
  ]]] )
    RarEntry::extract() extrait une entrée de données.
   Ceci va créer un nouveau fichier dans le dossier spécifié par le paramètre
   dir portant un nom identique au nom de l'entrée,
   tant que le second argument n'est pas spécifié. Voir ci-dessous pour plus
   d'informations.
  
dir
     
       Chemin vers le dossier où le fichier extrait devra être créé.
       Ce paramètre sera utilisé uniquement si le paramètre
       filepath n'est pas fourni. Si ces 2 paramètres
       sont vides, l'extraction se fera dans le dossier courant.
      
filepath
     
       Chemin (relatif ou absolut) contenant le dossier et le nom du fichier à extraire.
       Ce paramètre écrase à la fois le paramètre dir
       et le nom original du fichier.
      
password
     
       Le mot de passe à utiliser pour décrypter cette entrée. Si l'entrée n'est pas crypté,
       cette valeur ne sera pas utilisée et peut être omise. Si ce paramètre est omis et que
       l'entrée est cryptée, le mot de passe fourni à la fonction  rar_open(),
       si il existe, sera utilisé. Si un mauvais mot de passe est fourni, soit explicitement
       ou implicitement via la fonction  rar_open(), la vérification CRC
       échouera et cette méthode échouera, en retournant FALSE.
       Si aucun mot de passe n'est fourni alors qu'il est nécessaire, cette méthode échouera
       en retournant FALSE. Vous pouvez vérifier si une entrée est cryptée avec la méthode
        RarEntry::isEncrypted().
      
extended_data
     
       Si vaut TRUE, les informations étendues comme NTFS ACLs
       et les informations sur le propriétaire Unix seront
       définies dans les fichiers extraits, si ils sont bien définies
       dans l'archives.
      
Avant la version 2.0.0, cette fonction ne gérait pas les chemins relatifs correctement. Utilisez la fonction realpath() comme contournement.
   Cette fonction retourne TRUE en cas de
succès ou FALSE si une erreur survient.
  
| Version | Description | 
|---|---|
| 3.0.0 | Le paramètre extended_dataa été ajouté. | 
| 3.0.0 | Support des archives RAR contenant des entrées portant le même nom. | 
Exemple #1 Exemple avec RarEntry::extract()
<?php
$rar_file = rar_open('example.rar') or die("Échec lors de l'ouverture de l'archive RAR");
$entry = rar_entry_get($rar_file, 'Dir/file.txt') or die("L'entrée demandée n'existe pas !");
$entry->extract('/dir/to'); // Création de /dir/to/Dir/file.txt
$entry->extract(false, '/dir/to/new_name.txt'); // Création de /dir/to/new_name.txt
?>
Exemple #2 Comment extraire tous les fichiers d'une archive :
<?php
/* Exemple fourni par Erik Jenssen aka erix */
$filename = "foobar.rar";
$filepath = "/home/foo/bar/";
$rar_file = rar_open($filepath.$filename);
$list = rar_list($rar_file);
foreach($list as $file) {
    $entry = rar_entry_get($rar_file, $file);
    $entry->extract("."); // Extraction dans le dossier courant
}
rar_close($rar_file);
?>