stream_filter_register
(PHP 5, PHP 7, PHP 8)
stream_filter_register — реєструє потоковий фільтр, визначений користувачем
Опис
stream_filter_register(string $filter_name, string $class): bool
stream_filter_register() дозволяє реалізувати власний фільтр для будь-якого зареєстрованого потоку, що використовується з усіма іншими функціями файлової системи (такими як fopen() fread()и т. д.).
Список параметрів
filter_name
Назва фільтру, що реєструється.
class
Щоб реалізувати фільтр, вам потрібно визначити клас як розширення php_user_filter c цілим рядом функцій-членів. При виконанні операцій читання/запису на потоці, до якого прикріплений ваш фільтр, PHP передаватиме дані через ваш фільтр (і через будь-які інші фільтри, прикріплені до потоку), так що дані можуть бути змінені як потрібно. Вам необхідно реалізувати методи точно як описано в php_user_filter. Інша реалізація призведе до непередбачуваної поведінки.
Значення, що повертаються
Повертає true
у разі успішного виконання або **false
**в случае возникновения ошибки.
stream_filter_register() повертатиме **false
**якщо фільтр з ім'ям filter_name
вже визначено.
Приклади
Приклад #1 Фільтр для перекладу букв у верхній регістр у потоці foo-bar.txt
Приклад нижче реалізує фільтр під назвою strtoupper
на файловому потоці foo-bar.txt, який буде переводити в великі всі літери, які пишуться/читаються з цього потоку.
Loading...
Результат виконання наведеного прикладу:
LINE1
WORD - 2
EASY AS 123
Приклад #2 Реєстрація стандартного фільтра, що відповідає множинним іменам фільтрів.
Loading...
Результат виконання наведеного прикладу:
LINE1
WORD - 2
EASY AS 123
Дивіться також
- stream_wrapper_register() - реєструє обгортку URL, реалізовану у вигляді PHP-класу
- stream_filter_append() - Прикріпити фільтр до потоку
- stream_filter_prepend() - Прикріплює фільтр до потоку