Phar::convertToData
(PHP >= 5.3.0, PECL phar >= 2.0.0)
Phar::convertToData — Convertit une archive phar en un fichier non-exécutable
Description
$format
= 9021976
[, int $compression
= 9021976
[, string $extension
]]] )Convertit une archive phar exécutable en un fichier tar ou zip. Pour rendre le tar ou le zip non exécutable, le conteneur phar et l'alias phar sont supprimés de l'archive nouvellement créée.
Si aucun changement n'est spécifié, cette méthode émet une exception BadMethodCallException si l'archive est dans le format de fichier phar. Pour les archives basées sur tar ou zip, cette méthode convertit l'archive en une archive non exécutable.
En cas de succès, la méthode crée une nouvelle archive sur le disque et retourne un objet PharData. L'ancienne archive n'est pas supprimée du disque, ce qui devrait être fait manuellement à la fin du procédé.
Liste de paramètres
-
format
-
Ce doit être l'un des formats Phar::TAR ou Phar::ZIP. Si ce paramètre est
NULL
, le format de fichier actuel sera conservé. -
compression
-
Ce doit être Phar::NONE pour aucune compression globale, Phar::GZ la une compression basée sur zlib et Phar::BZ2 pour une compression basée sur bzip2.
-
extension
-
Ce paramètre est utilisée pour écraser l'extension par défaut d'une archive convertie. A noter que .phar ne peut pas être utilisé dans le nom de fichier d'une archive tar ou zip non-exécutable.
Si on convertit vers une archive basée sur tar, les extensions par défaut sont .tar, .tar.gz, et .tar.bz2 selon la compression spécifiée. Pour les archives phar basées sur zip, l'extension par défaut est .zip.
Valeurs de retour
La méthode retourne un objet PharData en cas de succès et émet une exception en cas d'échec.
Erreurs / Exceptions
Cette méthode émet une exception BadMethodCallException si elle n'est pas capable de compresser, si une méthode de compression inconnue a été spécifiée ou si l'archive demandée a été mise en tampon avec Phar::startBuffering() sans être conclue avec Phar::stopBuffering(), et émet une exception PharException si un quelconque problème a été rencontré pendant la phase de création de l'archive.
Exemples
Exemple #1 Un exemple avec Phar::convertToData()
<?php try { $tarphar = new Phar('monphar.phar.tar'); // notez bien que monphar.phar.tar n'est *pas* effacé // on convertit vers le format de fichier tar non exéctuable // crée monphar.tar $tar = $tarphar->convertToData(); // on convertit vers le format de fichier zip non exéctuable et crée monphar.zip $zip = $tarphar->convertToData(Phar::ZIP); // crée monphar.tbz $tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz'); // crée monphar.phar.tgz $phar = $tarphar->convertToData(Phar::PHAR); // émet une exception } catch (Exception $e) { // on traite les erreurs ici } ?>
Voir aussi
- Phar::convertToExecutable() - Convertit une archive phar vers un autre format de fichier d'archive phar exécutable
- PharData::convertToExecutable() - Convertit une archive tar/zip non-exécutable en une archive phar exécutable
- PharData::convertToData() - Convertit une archive phar en une archive tar ou zip non-exécutable