# stream_filter_prepend

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_filter_prepend — Attache un filtre à un flux en début de liste

### Description

stream_filter_prepend(
resource `$stream`,
string `$filtername`,
int `$read_write` = ?,
mixed `$params` = ?
): resource

stream_filter_prepend() ajoute le filtre `filtername` à la liste de filtres attachés au flux `stream`.

### Liste de paramètres

`stream`

  Le flux cible.

`filtername`

  Le nom du filtre.

`read_write`

  Par défaut, stream_filter_prepend() va attacher le filtre à la `chaîne de filtre de lectures` si le fichier a été ouvert en lecture (i.e. mode `r`, et/ou `+`). Le filtre va aussi être attaché à la `chaîne de filtres d'écriture` si le fichier a été ouvert en écriture (i.e. mode `w`, `a`, et/ou `+`). `STREAM_FILTER_READ`, `STREAM_FILTER_WRITE`, et/ou `STREAM_FILTER_ALL` peuvent aussi être passés dans le paramètre `read_write` pour imposer le comportement désiré. Voyez stream_filter_append() pour un exemple d'utilisation de ce paramètre.

`params`

  Le filtre sera ajouté avec les paramètres spécifiés dans `params`, au début de la liste, et sera ainsi appelé en premier dans les opérations du flux. Pour ajouter un filtre à la fin de la liste, utilisez stream_filter_append().

### Valeurs de retour

Retourne une ressource en cas de succès, ou `false` si une erreur survient. La ressource peut être utilisée pour se référer à cette instance de filtre pendant un appel à la fonction stream_filter_remove().

`false` est retourné si `stream` n'est pas une ressource, ou si `filtername` ne peut être atteint.

### Notes

> Note: Quand vous utilisez des filtres personnalisés
> stream_register_filter() doit être appelée avant stream_filter_prepend() pour enregistrer le filtre sous le nom de `filtername`.

> Note: Les données du flux (locales et distantes) sont retournées en morceaux, les données non acheminées étant conservées dans le tampon interne. Lorsqu'un nouveau filtre est ajouté au début du flux, les données dans le tampon interne ne sont pas passées dans le nouveau filtre à ce moment là. Ceci est différent du comportement de stream_filter_append().

> Note: Quand un filtre est ajouté pour la lecture et l'écriture, deux instances du filtres sont créées. stream_filter_prepend() doit être appelée deux fois avec `STREAM_FILTER_READ` et `STREAM_FILTER_WRITE` pour obtenir les ressources de filtres.

### Voir aussi

- stream_filter_register() - Enregistre un filtre de flux
- stream_filter_append() - Attache un filtre à un flux en fin de liste