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