(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::extractTo — Extrait le contenu d'une archive tar/zip vers un répertoire
$directory, array|string|null $files = null, bool $overwrite = false): bool
   Extrait tous les fichiers d'une archive tar/zip vers le disque.
   Les fichiers et les répertoires extraits conservent les permissions
   telles qu'au sein de l'archive. Les paramètres optionnels permettent un
   éventuel contrôle sur quels fichiers seront extraits et si les fichiers
   déjà présents sur le disque peuvent être écrasés. Le second paramètre
   files peut être le nom d'un fichier ou d'un répertoire
   à extraire, ou tableau de nom de fichiers et de répertoires à extraire.
   Par défaut, cette méthode n'écrasera aucun fichier déjà existant, à moins
   que le troisième paramètre soit à true. Cette méthode est identique à
   ZipArchive::extractTo().
  
directoryChemin où les fichiers seront extraits.
filesLe nom d'un fichier ou d'un répertoire à extraire, ou un tableau de fichiers/répertoires à extraire
overwrite
       Le passer à true pour activer l'écrasement des fichiers déjà
       existants
      
   Retourne true en cas de succès, mais il est préférable de vérifier les
   exception soulevées et de considérer le succès si aucune ne l'est.
  
Soulève une exception PharException si des erreurs sont rencontrés lors de l'écriture des changements sur le disque.
Exemple #1 Exemple avec PharData::extractTo()
<?php
try {
    $phar = new PharData('monphar.tar');
    $phar->extractTo('/chemin/complet'); // extrait tous les fichiers
    $phar->extractTo('/un/autre/chemin', 'fichier.txt'); // extrait seulement fichier.txt
    $phar->extractTo('/ce/chemin',
        array('fichier1.txt', 'fichier2.txt')); // extrait seulement 2 fichiers
    $phar->extractTo('/troisieme/chemin', null, true); // extrait tous les fichiers, en écrasant
} catch (Exception $e) {
    // on traite les erreurs
}
?>
Note:
Les systèmes de fichiers NTFS Windows ne supportent pas certain caractères dans le noms de fichier, à savoir
<|>*?":. Les noms de fichiers avec un point trainant ne sont également pas supporté. Contrairement à certains outils d'extraction, cette méthode ne remplace pas ces caractères avec un tiret bas, mais échoue à extraire de tel fichiers.