stream_filter_append

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

stream_filter_appendEnlaza un filtro a un flujo

Descripción

stream_filter_append(
    resource$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.

Parámetros

stream

El flujo objetivo.

filtername

El 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().

Valores devueltos

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.

Historial de cambios

VersiónDescripción
5.1.0 Antes de PHP 5.1.0, esta función devolvía true si se tuvo éxito o false en caso de error.

Ejemplos

Ejemplo #1 Controlar dónde son aplicados los filtros

<?php

$fp = fopen('prueba.txt', 'w+');


stream_filter_append($fp, "string.rot13", STREAM_FILTER_WRITE);


fwrite($fp, "Esto es una prueba\n");


rewind($fp);


fpassthru($fp);

fclose($fp);


?>

Notas

Nota: Cuando se usan filtros personalizos (de usuario)
stream_filter_register() debe llamarse primero para registrar el filtro de usuario deseado en filtername.

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_READ y STREAM_FILTER_WRITE para obtener ambos recursos del filtro.

Ver también

To Top