8.126 Flux
8 Référence des fonctions
Manuel PHP
. Introduction . Filtres de flux . Contextes de flux . Installation . Classes Stream . Constantes pré-définies . Erreurs de flux . Exemples . stream_bucket_append . stream_bucket_make_writeable . stream_bucket_new . stream_bucket_prepend . stream_context_create . stream_context_get_default . stream_context_get_options . stream_context_set_option . stream_context_set_params . stream_copy_to_stream ->stream_filter_append . stream_filter_prepend . stream_filter_register . stream_filter_remove . stream_get_contents . stream_get_filters . stream_get_line . stream_get_meta_data . stream_get_transports . stream_get_wrappers . stream_register_wrapper . stream_select . stream_set_blocking . stream_set_timeout . stream_set_write_buffer . stream_socket_accept . stream_socket_client . stream_socket_enable_crypto . stream_socket_get_name . stream_socket_pair . stream_socket_recvfrom . stream_socket_sendto . stream_socket_server . stream_wrapper_register . stream_wrapper_restore . stream_wrapper_unregister
|
8.126.19 stream_filter_append()Attache un filtre à un flux en fin de liste[ Exemples avec stream_filter_append ] PHP 4 >= 4.3.0, PHP 5
resource
stream_filter_append (
resource
stream
,
string
filtername
,
int
read_write
,
mixed
params
)
stream_filter_append
ajoute le filtre
filtername
à la liste de filtres attachés au
flux
stream
. Ce filtre sera ajouté avec
les paramètres spécifiés dans
params
à la
fin
de cette liste et sera donc
appelé en dernier durant les opérations de flux.
Pour ajouter un filtre au début de la liste, utilisez
la fonction
stream_filter_prepend
.
Par défaut,
stream_filter_append
va ajouter
le filtre à la liste de filtres de lecture si le fichier a été ouvert
en mode lecture (
r
et/ou
+
). Le
filtre sera aussi attaché à la liste des filtres de lecture
si le fichier a été ouvert en mode lecture (
w
,
a
et/ou
+
).
STREAM_FILTER_READ
,
STREAM_FILTER_WRITE
, et/ou
STREAM_FILTER_ALL
peuvent aussi être utilisées
dans le paramètre
read_write
pour contrôler
ce comportement. Voyez la fonction
stream_filter_append
pour un exemple de l'utilisation
de ce paramètre.
Depuis PHP 5.0.1, cette fonction retourne une ressource qui peut être utilisée
pour se référer à cette instance de filtre durant l'appel à la fonction
stream_filter_remove
.
Dans les versions antérieures à PHP 5.1.0, cette fonction retourne
FALSE
en cas de succès,
FALSE
sinon.
| Contrôler l'application des filtres |
<?php // Ouverture d'un fichier de test en lecture/écriture $fp = fopen('test.txt', 'w+');
/* On applique le filtre ROT13 au flux d'écriture, mais pas à * celui de lecture */ stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
/* On ajoute un simple chaîne dans le fichier, il sera * transformé par ROT13 à l'écriture */ fwrite($fp, "Ceci est un test\n");
/* On revient au début du fichier */ rewind($fp);
/* On lit le contenu du fichier. * Si on appliquait le filtre ROT13 nous aurions la * chaîne dans son étât d'origine */ fpassthru($fp);
fclose($fp);
/* Résultat attendu ----------------
Guvf vf n grfg
*/ ?>
|
| 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é à la fin du flux, les données dans
le tampon interne sont passées dans le nouveau filtre à ce moment-là.
Ceci est différent du comportement de
stream_filter_prepend
.
|
Voir aussi
stream_filter_register
,
stream_filter_prepend
et
stream_get_filters
.
|