PharFileInfo::setMetadata

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

PharFileInfo::setMetadata — Fixe les mĂ©tadonnĂ©es spĂ©cifiques Ă  un fichier

Description

public function PharFileInfo::setMetadata(mixed $metadata): void

PharFileInfo::setMetadata() ne doit ĂȘtre utilisĂ©e que pour stocker des donnĂ©es personnalisĂ©es dans un fichier qui ne peuvent pas l'ĂȘtre avec des informations normalement stockĂ©es avec le fichier. Les mĂ©tadonnĂ©es peuvent dĂ©grader les performances de chargement d'une archive phar si les donnĂ©es sont trop lourdes ou s'il y a beaucoup de fichiers avec des mĂ©tadonnĂ©es. Il est important de noter que les permissions de fichiers sont supportĂ©es nativement dans un phar ; il est possible de les fixer avec la mĂ©thode PharFileInfo::chmod(). Comme avec toutes les fonctionnalitĂ©s qui modifient le contenu du phar, la variable INI phar.readonly doit ĂȘtre Ă  off pour rĂ©ussir si le fichier est au sein d'une archive Phar. Les fichiers au sein d'archives PharData n'ont pas cette restriction.

Une utilisation possible des mĂ©tadonnĂ©es est le passage d'un utilisateur/groupe qui devrait ĂȘtre utilisĂ© quand un fichier est extrait du phar vers le disque. On peut aussi spĂ©cifier un type MIME Ă  retourner. De maniĂšre gĂ©nĂ©rale, on peut stocker toute donnĂ©e utile qui dĂ©crit un fichier mais qui ne peut pas y ĂȘtre inscrite directement.

Liste de paramĂštres

metadata

Toute variable PHP contenant des informations Ă  stocker Ă  part du fichier

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Un exemple avec PharFileInfo::setMetadata()

<?php
// on s'assure que le phar n'existe pas déjà
@unlink('nouveauphar.phar');
try {
$p = new Phar(dirname(__FILE__) . '/nouveauphar.phar', 0, 'nouveauphar.phar');
$p['fichier.txt'] = 'salut';
$p['fichier.txt']->setMetadata(array('utilisateur' => 'Yannick', 'mime-type' => 'text/plain'));
var_dump($p['fichier.txt']->getMetadata());
} catch (
Exception $e) {
echo
'Ne peut pas créer/modifier le phar : ', $e;
}
?>

L'exemple ci-dessus va afficher :

array(2) {
  ["utilisateur"]=>
  string(7) "Yannick"
  ["mime-type"]=>
  string(10) "text/plain"
}

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.