>(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::convertToData — Convertit une archive phar en un fichier non-exécutable
Description
public
Phar::convertToData(?int
$format =
null, ?int
$compression =
null, ?string
$extension =
null): ?PharData
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,
ou null 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.
Historique
Exemples
Exemple #1 Un exemple avec phar::convertToData()
Utilisons 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