# stream_filter_prepend

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

stream_filter_prepend — Adjunta un filtro a un flujo

### Descripción

stream_filter_prepend(
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_prepend() adjuntará el filtro a la `cadena de filtros de lectura` si el fichero fue abierto para lectura (esto es, Modo de Fichero: `r`, y/o `+`). El filtro también será adjuntado a la `cadena de filtros de escritura` si el fichero fue abierto para escritura (esto es, Modo de Fichero: `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. Véase stream_filter_append() para un ejemplo de cómo usar este parámetro.

`params`

  Este filtro será añadido con los parámetros `params` especificados al inicio de la lista y, por lo tanto, será llamado el primero durante las operaciones de flujo. Para añadir un filtro al final de la lista, use stream_filter_append().

### 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ón | Descripción
--- | ---
5.1.0 | Antes de PHP 5.1.0, esta función devolvía `true` en caso de éxito o `false` en caso de error.

### 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 búferes internos. Cuando un nuevo filtro se añade a un flujo, la información en los búferes internos, la cuál ha sido ya procesada por otros filtros, no será procesada por el nuevo filtro en ese momento. Esto difiere del comportamiento de stream_filter_append().

> Nota: Cuando un filtro se añade para lectura y escritura, se crean dos instancias del filtro. stream_filter_prepend() se debe llamar dos veces con `STREAM_FILTER_READ` y `STREAM_FILTER_WRITE` para obtener ambos recursos del filtro.

### Ver también

- stream_filter_register() - Registrar un filtro de flujo definido por el usuario
- stream_filter_append() - Enlaza un filtro a un flujo