Manuel PHP
Précédent |  | Suivant

# stream_filter_append

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_append -- Attache un filtre à un flux en fin de liste

## Description

bool stream_filter_append ( resource stream, string filtername [, int read_write [, string 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_prepend() 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.

Exemple 1. Contrôler l'application des filtres

`<?php
/* Open a test file for reading and writting */
$fp = fopen("test.txt","rw");
/* Apply the ROT13 filter to the
* write filter chain, but not the
* read filter chain */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
/* Write a simple string to the file
* it will be ROT13 transformed on the
* way out */
fwrite($fp, "This is a test\n");
/* Back up to the beginning of the file */
rewind($fp);
/* Read the contents of the file back out.
* Had the filter been applied to the
* read filter chain as well, we would see
* the text ROT13ed back to its original state */
fpassthru($fp);
fclose($fp);
/* Expected Output
---------------
Guvf vf n grfg
*/
?>`

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

Voir aussi stream_register_filter() et stream_filter_prepend()

Précédent | Sommaire | Suivant
stream_copy_to_stream | Niveau supérieur | stream_filter_prepend