stream_copy_to_stream
<<<
stream_filter_append stream_filter_prepend
>>>

8.118 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_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.118.15 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és 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 filtre 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", "rw");

/* 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
Quand vous utilisez des filtres personnalisés

stream_register_filter doit être appelée avant stream_filter_append 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é à 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_register_filter et stream_filter_prepend .

<< stream_filter_append >>
stream_copy_to_stream Flux stream_filter_prepend