Раздел описывает ряд встроенных фильтров, которые функцией stream_filter_append() добавляют в цепочку обработки потока данных. На количество доступных фильтров влияют конкретная версия и сборка PHP.
Функции stream_filter_append() и stream_filter_prepend() работают асимметрично. Каждый поток данных в PHP содержит буфер чтения. В буфере хранятся блоки данных, которые поток получил из файловой системы или другого источника. Буферизация оптимизирует операции ввода и вывода при обработке данных. Сразу после извлечения из ресурса данные обрабатываются фильтрами, которые добавили в цепочку обработки потока данных, и записываются во внутренний буфер потока, независимо от готовности PHP-приложения принимать данные. Данные в буфере чтения немедленно обрабатываются новым фильтром при добавлении фильтра в конец цепочки, хотя данные и содержались в буфере на момент добавления фильтра. При этом данные буфера чтения НЕ обрабатываются фильтром, который добавляют в начало цепочки. Такой фильтр ожидает считывания из источника нового блока данных.
Список установленных в конкретной версии PHP фильтров возвращает функция stream_get_filters().