PHP 8.4.0 RC4 available for testing

Phar::addFile

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

Phar::addFileAjoute un fichier du système de fichiers à l'archive phar

Description

public Phar::addFile(string $filename, ?string $localName = null): 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.

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().

Liste de paramètres

filename

Chemin absolu ou relatif vers un fichier du disque à ajouter à l'archive phar.

localName

Chemin où le fichier sera stocké dans l'archive.

Valeurs de retour

Pas de valeur de retour, une exception est levée en cas d'échec.

Historique

Version Description
8.0.0 localName est désormais nullable.

Exemples

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
}
?>

Notes

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.

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top