# Phar::offsetSet

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

Phar::offsetSet — Met le contenu d'un fichier interne à l'archive à l'identique du contenu d'un fichier externe

### Description

public Phar::offsetSet(string `$localName`, resource|string `$value`): 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.

C'est une implémentation de l'interface ArrayAccess qui permet la manipulation directe du contenu d'une archive Phar en utilisant les crochets d'accès au tableau. offsetSet est utilisé pour modifier un fichier existant ou pour ajouter un nouveau fichier à l'archive Phar.

### Liste de paramètres

`localName`

  Le nom de fichier (en chemin relatif) à chercher dans le Phar.

`value`

  Contenu du fichier.

### Valeurs de retour

Aucune valeur de retour.

### Erreurs / Exceptions

Si phar.readonly est à `1`, une exception BadMethodCallException est levée, car modifier un Phar n'est permis que quand phar.readonly est à `0`. Une exception PharException est levée s'il y a eu un problème lors de l'écriture des changements de l'archive Phar sur le disque.

### Exemples

Exemple #1 Un exemple avec Phar::offsetSet()

offsetSet ne doit pas être accédé directement, mais plutôt via l'opérateur d'accès au tableau, `[]`.

`<?php
$p = new Phar('/chemin/vers/mon.phar', 0, 'mon.phar');
try {
// appelle offsetSet
$p['fichier.txt'] = 'Salut';
} catch (Exception $e) {
echo 'Ne peut pas modifier fichier.txt:', $e;
}
?>`

### 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

- Phar::offsetExists() - Détermine si un fichier existe dans le phar
- Phar::offsetGet() - Obtient un objet PharFileInfo à partir d'un fichier
- Phar::offsetUnset() - Efface un fichier d'un phar