stream_filter_prepend
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
stream_filter_prepend — Прикрепляет фильтр к потоку
Описание
$stream
, string $filtername
, int $read_write = ?
, mixed $params = ?
) : resource
Добавляет 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().
Возвращаемые значения
Возвращает ресурс в случае успешного выполнения или false в случае возникновения ошибки. Ресурс должен быть
использован для ссылки на этот экземпляр фильтра во время вызова
stream_filter_remove().
Вернет false, если stream не является ресурсом или если
filtername не найден.
Примечания
Замечание: При использовании пользовательских фильтров
Сначала должна быть вызвана функция stream_filter_register() для того, чтобы зарегистрировать желаемый пользовательский фильтр на имяfiltername.
Замечание: Потоковые данные читаются из ресурсов (как локальных, так удалённых) по кускам, и любые невостребованные данные сохраняются во внутренних буферах. Когда новый фильтр добавляется в начало потока, данные во внутренних буферах, который уже были обработаны через другие фильтры, не будут обработаны через новый фильтр. Это отличается от поведения функции stream_filter_append().
Замечание: Когда фильтр добавляется для чтения и записи, создаются два экземпляра фильтра. Функция stream_filter_append() должна быть вызвана дважды с
STREAM_FILTER_READиSTREAM_FILTER_WRITEчтобы получить оба ресурса фильтра.
Смотрите также
- stream_filter_register() - Регистрирует потоковый фильтр, определённый пользователем
- stream_filter_append() - Прикрепить фильтр к потоку