On the command line (*nix) you can use the following command to extract a phar file:
$ mkdir tmp && cd $_
$ phar extract -f ../file.phar
(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
$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().
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
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.
Lève une exception PharException si des erreurs apparaissent pendant l'écriture sur le disque.
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
}
?>
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.
On the command line (*nix) you can use the following command to extract a phar file:
$ mkdir tmp && cd $_
$ phar extract -f ../file.phar