stream_filter_append

(PHP 4 >= 4.3.0, PHP 5)

stream_filter_append -- Adjuntar un filtro a una secuencia

Descripción

resource stream_filter_append ( resource secuencia, string nombre_filtro [, int lectura_escritura [, mixed parametros]] )

Agrega el nombre_filtro a la lista de filtros adjuntos a la secuencia. Este filtro será añadido con los parametros especificados al final de la lista y por lo tanto será llamado al último durante las operaciones de la secuencia. Para agregar un filtro al comienzo de la lista, use stream_filter_prepend().

Por defecto, stream_filter_append() adjuntará el filtro a la cadena de filtros de lectura si el archivo fue abierto para lectura (esto quiere decir, Modo del Archivo: r, o +). El filtro también se adjuntará a la cadena de filtros de escritura si el archivo fue abierto para escritura (esto quiere decir, Modo del Archivo: w, a, O +). Las constantes STREAM_FILTER_READ, STREAM_FILTER_WRITE, o STREAM_FILTER_ALL pueden ser pasadas también al parámetro lectura_escritura para sobrescribir este comportamiento.

A partir de PHP 5.1.0, esta función devuelve un recurso que puede ser usado para referirse a esta instancia de filtro durante una llamada a stream_filter_remove(). Antes de PHP 5.1.0, esta función devuelve TRUE en caso de éxito o FALSE si ocurre un error.

Ejemplo 1. Control del lugar en el que se aplican los filtros

<?php
/* Abrir un archivo de prueba para lectura y escritura */
$da = fopen("prueba.txt", "rw");

/* Aplicar el filtro ROT13 a la cadena de filtros de escritura, pero
* no a la cadena de filtros de lectura */
stream_filter_append($da, "string.rot13", STREAM_FILTER_WRITE);

/* Escribir una cadena simple al archivo, la cual sera transformada
   mediante ROT13 en su camino de salida */
fwrite($da, "Esta es una prueba\n");

/* Volver al inicio del archivo */
rewind($da);

/* Leer los contenidos del archivo de vuelta. Si hubiesemos aplicado
* el filtro a la cadena de filtros de lectura tambien, veriamos el
* texto de vuelta a su estado original debido a la retransformacion
* con ROT133 */
fpassthru($da);

fclose($da);

/* Salida Esperada
   ---------------

Rfgn rf han cehron

*/
?>

Cuando se usan filtros personalizados (de usuario): La función stream_filter_register() debe ser llamada primero para registrar el filtro de usuario deseado para nombre_filtro.

Nota: Los datos de la secuencia son leídos desde los recursos (tanto locales como remotos) en paquetes, usando búferes internos para conservar todos los datos sin consumir. Cuando un nuevo filtro es agregado a la secuencia, los datos en los búferes internos son procesados a través del nuevo filtro en ese momento. Este comportamiento difiere de aquél de stream_filter_prepend().

Vea también stream_filter_register(), stream_filter_prepend(), y stream_get_filters().

Hosting by: hurra.com
Generated: 2007-01-26 18:00:50