(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::addFile — Ajoute un fichier du système de fichiers à l'archive phar
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.
Grâce à cette méthode, tout fichier ou URL peut être ajouté à l'archive phar. Si
le second paramètre optionnel localName
est une chaîne de caractères,
le fichier sera stocké dans l'archive de ce nom, sinon le paramètre
filename
est utilisé comme chemin vers lequel stocker l'archive.
Les URL doivent être locales, sans quoi une exception est levée.
Cette méthode est identique à ZipArchive::addFile().
filename
Chemin absolu ou relatif vers un fichier du disque à ajouter à l'archive phar.
localName
Chemin où le fichier sera stocké dans l'archive.
Pas de valeur de retour, une exception est levée en cas d'échec.
Version | Description |
---|---|
8.0.0 |
localName est désormais nullable.
|
Exemple #1 Un exemple avec Phar::addFile()
<?php
try {
$a = new Phar('/chemin/vers/phar.phar');
$a->addFile('/chemin/complet/vers/fichier');
// démontre comment le fichier est stocké
$b = $a['chemin/complet/vers/fichier']->getContent();
$a->addFile('/chemin/complet/vers/fichier', 'mon/fichier.txt');
$c = $a['mon/fichier.txt']->getContent();
// démontre l'utilisation d'URL
$a->addFile('http://www.exemple.com', 'exemple.html');
} catch (Exception $e) {
// traite les erreurs ici
}
?>
Note: Phar::addFile(), Phar::addFromString() et Phar::offsetSet() enregistre une nouvelle archive phar à chaque fois qu'elles sont appelées. Si les performances sont une préoccupation, Phar::buildFromDirectory() ou Phar::buildFromIterator() devraient être utilisé à la place.