(PHP 4 >= 4.3.0, PHP 5)
stream_filter_prepend — Прикрепляет фильтр к потоку
$stream
, string $filtername
[, int $read_write
[, mixed $params
]] )
Добавляет фильтр filtername
к списку фильтров,
прикреплённых к потоку stream
.
stream
Целевой поток.
filtername
Название потока.
read_write
По умолчанию, функция stream_filter_prepend() будет
прикреплять фильтр к цепочке фильтров чтения,
если файл был открыт для чтения (т. е. режим файла:
r, и/или +). Фильтр
также будет прикреплён к цепочке фильтров записи,
если файл был открыт для записи (т. е. режим файла:
w, a, и/или +).
Константы STREAM_FILTER_READ
,
STREAM_FILTER_WRITE
, и/или
STREAM_FILTER_ALL
также могут быть переданы в параметре
read_write
, чтобы переопределить это поведение.
Смотрите функцию stream_filter_append() для примера
использования этого параметра.
params
Этот фильтр будет добавлен с указанными параметрами params
к началу списка и, таким образом, будет
вызван первым во время потоковых операций. Для того, чтобы добавить фильтр к концу
списка, используйте stream_filter_append().
Возвращает ресурс, который может быть использован для того, чтобы обратиться к этому экземпляру фильтра во время вызова stream_filter_remove().
Версия | Описание |
---|---|
5.1.0 |
До PHP 5.1.0 эта функция возвращает TRUE в случае успешного выполнения
или FALSE в случае возникновения ошибки.
|
Замечание: При использовании пользовательских фильтров
Сначала должна быть вызвана функция stream_filter_register() для того, чтобы зарегистрировать желаемый пользовательский фильтр на имяfiltername
.
Замечание: Потоковые данные читаются из ресурсов (и локальных, и удалённых) по кускам, и любые невостребованные данные сохраняются во внутренних буферах. Когда новый фильтр добавляется в начало потока, данные во внутренних буферах, который уже были обработаны через другие фильтры, не будут обработаны через новый фильтр. Это отличается от поведения функции stream_filter_append().
Замечание: Когда фильтр добавляется для чтения и записи, создаются два экземпляра фильтра. Функция stream_filter_append() должна быть вызвана дважды с
STREAM_FILTER_READ
иSTREAM_FILTER_WRITE
чтобы получить оба ресурса фильтра.