# Phar::extractTo

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

Phar::extractTo — Extrait le contenu d'une archive phar vers un répertoire

### Description

public Phar::extractTo(string `$directory`, array|string|null `$files` = `null`, bool `$overwrite` = `false`): bool

Extrait tous les fichiers d'une archive phar vers le disque. Les fichiers et les dossiers extraits conservent les permissions à l'identique de l'intérieur de l'archive. Les paramètres optionnels permettent un éventuel contrôle sur quel fichier est extrait et si des fichiers déjà existants sur le disque peuvent être écrasés. Le second paramètre `files` peut être soit le nom d'un fichier ou d'un répertoire, soit un tableau de noms de fichiers et de répertoires à extraire. Par défaut, cette méthode n'écrasant pas les fichiers existants, le troisième paramètre peut être passé à `true` pour activer l'écrasement de fichiers. Cette méthode est identique à ZipArchive::extractTo().

### Liste de paramètres

`directory`

  Chemin d'accès vers lequel extraire les fichiers `files`

`files`

  Le nom d'un fichier ou d'un répertoire ou un tableau de fichiers/répertoires à extraire, `null` pour ignorer ce paramètre

`overwrite`

  Le passer à `true` pour activer l'écrasement des fichiers existants

### Valeurs de retour

retourne `true` en cas de succès, mais il est plus sûr de vérifier si des exceptions sont levées, et de considérer que tout s'est bien passé si aucune n'est levée.

### Erreurs / Exceptions

Lève une exception PharException si des erreurs apparaissent pendant l'écriture sur le disque.

### Exemples

Exemple #1 Exemple avec Phar::extractTo()

`<?php
try {
$phar = new Phar('monphar.phar');
$phar->extractTo('/chemin/complet'); // extrait tous les fichiers
$phar->extractTo('/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) {
// traite les erreurs
}
?>`

### Notes

> 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.

### Voir aussi

- PharData::extractTo() - Extrait le contenu d'une archive tar/zip vers un répertoire