Прикрепляет фильтр к потоку

# stream_filter_prepend

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

stream_filter_prepend — Прикрепляет фильтр к потоку

### Описание

function stream_filter_prepend(
resource `$stream`,
string `$filter_name`,
int `$mode` = ?,
mixed `$params` = ?
): resource

Добавляет `filter_name` к списку фильтров, прикреплённых к потоку `stream`.

### Список параметров

`stream`

  Целевой поток.

`filter_name`

  Название потока.

`mode`

  По умолчанию, функция stream_filter_prepend() будет прикреплять фильтр к `цепочке фильтров чтения`, если файл был открыт для чтения (т.е. режим файла: `r`, и/или `+`). Фильтр также будет прикреплён к `цепочке фильтров записи`, если файл был открыт для записи (т.е. режим файла: `w`, `a`, и/или `+`). Константы `STREAM_FILTER_READ`, `STREAM_FILTER_WRITE` и/или `STREAM_FILTER_ALL` также могут быть переданы в параметре `mode`, чтобы переопределить это поведение. Смотрите функцию stream_filter_append() для примера использования этого параметра.

`params`

  Этот фильтр будет добавлен с указанными параметрами `params` к началу списка и, таким образом, будет вызван первым во время потоковых операций. Для того, чтобы добавить фильтр к концу списка, используйте stream_filter_append().

### Возвращаемые значения

Возвращает ресурс в случае успешного выполнения или `false` в случае возникновения ошибки. Ресурс должен быть использован для ссылки на этот экземпляр фильтра во время вызова stream_filter_remove().

Вернёт `false`, если `stream` не является ресурсом или если `filter_name` не найден.

### Примечания

> Замечание: При использовании пользовательских фильтров
> Сначала должна быть вызвана функция stream_filter_register() для того, чтобы зарегистрировать желаемый пользовательский фильтр на имя `filter_name`.

> Замечание: Потоковые данные читаются из ресурсов (как локальных, так удалённых) по кускам, и любые невостребованные данные сохраняются во внутренних буферах. Когда новый фильтр добавляется в начало потока, данные во внутренних буферах, который уже были обработаны через другие фильтры, не будут обработаны через новый фильтр. Это отличается от поведения функции stream_filter_append().

> Замечание: Когда фильтр добавляется для чтения и записи, создаются два экземпляра фильтра. Функция stream_filter_append() должна быть вызвана дважды с `STREAM_FILTER_READ` и `STREAM_FILTER_WRITE` чтобы получить оба ресурса фильтра.

### Смотрите также

- stream_filter_register() - Регистрирует пользовательский фильтр потока
- stream_filter_append() - Прикрепляет фильтр к потоку

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open