(PHP >= 5.3.0, PECL phar >= 2.0.0)
PharData::extractTo — Extrait le contenu d'une archive tar/zip vers un répertoire
$pathto
[, string|array $files
[, bool $overwrite
= false
]] )
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().
pathto
Chemin au sein de l'archive des fichiers à effacer.
files
Le 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 Un 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
}
?>