Phar
PHP Manual

Phar::decompressFiles

(PHP >= 5.3.0, PECL phar >= 2.0.0)

Phar::decompressFilesDécompresse tous les fichiers de l'archive Phar courante

Description

public bool Phar::decompressFiles ( void )

Note:

Cette méthode nécessite que la variable de configuration INI phar.readonly soit définie à 0 pour fonctionner avec les objets Phar. Sinon, une exception PharException sera lançée.

Pour les archives phar basées sur tar, cette méthode lève une exception BadMethodCallException, car la compression individuelle des fichiers au sein d'une archive tar n'est pas supportée par le format de fichier. Utilisez Phar::compress() pour compresser en archive phar basée sur tar en entier.

Pour les archives phar basées sur Zip ou sur phar, cette méthode décompresse tous les fichiers de l'archive Phar. Les extensions zlib ou bzip2 doivent être activées pour tirer parti de cette fonctionnalité si n'importe lequel des fichiers est compressé en utilisant une la compression bzip2/zlib. Comme avec toutes les fonctionnalités qui modifient le contenu d'un phar, la variable INI phar.readonly doit être à off pour fonctionner.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Erreurs / Exceptions

Lève une exception BadMethodCallException si la variable INI phar.readonly est à on, si l'extension zlib n'est pas disponible ou si un des fichiers est compressé en utilisant la compression bzip2 et que l'extension bzip2 n'est pas activée.

Exemples

Exemple #1 Un exemple avec Phar::decompressFiles()

<?php
$p 
= new Phar('/chemin/vers/mon.phar'0'mon.phar');
$p['monfichier.txt'] = 'salut';
$p['monfichier2.txt'] = 'salut';
$p->compressFiles(Phar::GZ);
foreach (
$p as $file) {
    
var_dump($file->getFileName());
    
var_dump($file->isCompressed());
    
var_dump($file->isCompressed(Phar::BZ2));
    
var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach (
$p as $file) {
    
var_dump($file->getFileName());
    
var_dump($file->isCompressed());
    
var_dump($file->isCompressed(Phar::BZ2));
    
var_dump($file->isCompressed(Phar::GZ));
}
?>

L'exemple ci-dessus va afficher :

string(10) "monfichier.txt"
int(4096)
bool(false)
bool(true)
string(11) "monfichier2.txt"
int(4096)
bool(false)
bool(true)
string(10) "monfichier.txt"
bool(false)
bool(false)
bool(false)
string(11) "monfichier2.txt"
bool(false)
bool(false)
bool(false)

Voir aussi


Phar
PHP Manual