PharData::convertToData

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::convertToData — Convertit une archive phar en une archive tar ou zip non-exĂ©cutable

Description

public function PharData::convertToData(?int $format = null, ?int $compression = null, ?string $extension = null): ?PharData

Cette méthode est utilisée pour convertir une archive non exécutable tar ou zip en un autre format non-exécutable.

Si aucun changement n'est demandĂ©, cette mĂ©thode soulĂšve une exception BadMethodCallException. Cette mĂ©thode doit ĂȘtre utilisĂ©e pour convertir une archive tar au format zip et vice-versa. Bien qu'il soit possible de changer la compression d'une archive tar avec cette mĂ©thode, il est prĂ©fĂ©rable d'utiliser la mĂ©thode PharData::compress() pour rester cohĂ©rent au niveau de la logique.

En cas de succĂšs, cette mĂ©thode crĂ©e une nouvelle archive sur le disque et retourne un objet PharData. L'ancienne archive n'est pas effacĂ©e du disque, ceci devant ĂȘtre fait manuellement une fois le traitement terminĂ©.

Liste de paramĂštres

format

Le format doit ĂȘtre Phar::TAR ou Phar::ZIP. S'il vaut null, le format de fichier actuel sera conservĂ©.

compression

La compression doit ĂȘtre Phar::NONE pour Ă©viter la compression de l'archive complĂšte, Phar::GZ pour la compression basĂ©e sur zlib, et Phar::BZ2 pour la compression basĂ©e sur bzip.

extension

Ce paramĂštre est utilisĂ© pour Ă©craser l'extension de fichier par dĂ©faut de l'archive convertie. Notez que .phar ne peut pas ĂȘtre utilisĂ© n'importe oĂč dans le nom de fichier d'une archive tar ou zip non-exĂ©cutable.

En cas de conversion vers une archive phar 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 basées sur zip, l'extension par défaut est .zip.

Valeurs de retour

Cette méthode retourne un objet PharData en cas de succÚs, ou null en cas d'échec.

Erreurs / Exceptions

Cette méthode soulÚve une exception BadMethodCallException quand elle est incapable de compresser, quand une méthode de compression inconnue a été spécifiée, quand l'archive demandée est mise en tampon avec Phar::startBuffering() et qu'elle n'a pas été conclue avec Phar::stopBuffering(), et soulÚve une exception PharException si un quelconque problÚme est rencontré lors de la création du phar.

Historique

Version Description
8.0.0 format, compression, et extension sont désormais nullable.

Exemples

Exemple #1 Un exemple avec PharData::convertToData()

Utilisons PharData::convertToData():

<?php
try {
$tarphar = new PharData('monphar.tar');
// notez que monphar.tar n'est *pas* effacé
// le convertir au format tar non-exécutable
// crée monphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// crée monphar.tbz
$tgz = $zip->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// crée monphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // soulĂšve une exception
} catch (Exception $e) {
// les erreurs sont traitées ici
}
?>

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.