(PHP 4 >= 4.3.0, PHP 5, PHP 7)
stream_filter_append — Enlaza un filtro a un flujo
$stream
   , string $filtername
   [, int $read_write
   [, mixed $params
  ]] ) : resource
   Añade un nombre de filtro dado por filtername a la lista de filtros
   adjuntos a stream.
  
streamEl flujo objetivo.
filternameEl nombre del filtro.
read_write
       Por omisión, stream_filter_append()
       enlazará el filtro a la cadena de filtros de lectura
       si el archivo fue abierto para lectura (esto es, Modo de Archivo:
       r, y/o +). El filtro
       también será enlazado a la cadena de filtros de escritura
       si el archivo fue abierto para escritura (esto es, Modo de Archivo:
       w, a, y/o +).
       STREAM_FILTER_READ,
       STREAM_FILTER_WRITE, y/o
       STREAM_FILTER_ALL también se pueden pasar al
       parámetro read_write para sobrescribir este comportamiento.
      
params
       Este filtro será añadido con los parámetros
       params especificados al final de
       la lista y por lo tanto será llamado el último durante las operaciones de flujo.
       Para añadir un filtro al principio de la lista use
       stream_filter_prepend().
      
   Devuelve un recurso en caso de éxito o FALSE en caso de fallo. El recurso se puede
   emplear para referirse a esta instnacia del filtro durante una llamada a
   stream_filter_remove().
  
   Se devuelve FALSE si stream no es un recurso o
   si filtername no se puede localizar.
  
| Versión | Descripción | 
|---|---|
| 5.1.0 | Antes de PHP 5.1.0, esta función devolvía TRUEsi se tuvo éxito
        oFALSEen caso de error. | 
Ejemplo #1 Controlar dónde son aplicados los filtros
<?php
/* Abrir un archivo de prueba para lectura y escritura */
$fp = fopen('prueba.txt', 'w+');
/* Aplicar el filtro ROT13 filter a la
 * cadena de filtros de escritura, pero no a la
 * cadena de filtros de lectura */
stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);
/* Escribir una cadena sencilla al archivo
 * será ROT13 transformado a la
 * salida */
fwrite($fp, "Esto es una prueba\n");
/* Retroceder al principio del archivo */
rewind($fp);
/* Leer el contenido del archivo desde atrás.
 * Si el filtro ha sido aplicado a la
 * cadena de filtros de lectura veríamos
 * el texto con el filtro ROT13 deshecho a su estado original */
fpassthru($fp);
fclose($fp);
/* Salida esperada
   ---------------
Rfgb rf han cehron
 */
?>
Nota: Cuando se usan filtros personalizos (de usuario)
stream_filter_register() debe llamarse primero para registrar el filtro de usuario deseado enfiltername.
Nota: La información del flujo se lee desde recursos (locales y remotos) en trozos, con cualquier información sin consumir guardada en bufferes internos. Cuando un nuevo filtro se añade a un flujo, la información en los bufferes internos se procesa a través del nuevo filtro en ese momento. Esto difiere del comportamiento de stream_filter_prepend().
Nota: Cuando un filtro se añade para lectura y escritura, se crean dos instancias del filtro. stream_filter_append() se debe llamar dos veces con
STREAM_FILTER_READySTREAM_FILTER_WRITEpara obtener ambos recursos del filtro.