Context
Контекстные опции и параметры
PHP предлагает различные контекстные опции и параметры, которые могут быть использованы со всеми файловыми системами и обработчиками потоков (stream wrappers). Контекст создается с помощью функции stream_context_create(). Опции устанавливаются путем вызова stream_context_set_option(), а параметры - путем вызова stream_context_set_params().
<?php
$opts = array(
'http'=>array(
'method'=>"GET",
'header'=>"Accept-language: en\r\n" .
"Cookie: foo=bar\r\n"
)
);
$context = stream_context_create($opts);
/* Sends an http request to www.example.com
with additional headers shown above */
$fp = fopen('http://www.example.com', 'r', false, $context);
fpassthru($fp); fclose($fp);
stream_context_get_options()
- Возвращает массив настроек на указанном потоке или контексте.
stream_context_set_default()
- Устанавливает контекст потока по умолчанию, который будет использоваться всякий раз, когда файловые операции (fopen(), file_get_contents(), и т.д.) вызываются без параметра контекста. Используется тот же синтаксис, что и в stream_context_create().
Потоковые фильтры
stream_filter_append()
resource stream_filter_append ( resource $stream , string $filtername [, int $read_write [, mixed $params ]] )
- Добавляет filtername в список фильтров, прикреплённых к stream.
Строковые
Все эти фильтры служат для того самого, что подразумевают их имена в соответствии с поведением встроенных в PHP функций для работы со строками.
string.rot13
<?php $fp = fopen('php://output', 'w'); stream_filter_append($fp, 'string.rot13'); fwrite($fp, "This is a test.\n"); /* Выведет: Guvf vf n grfg. */ ?>
string.toupper
<?php $fp = fopen('php://output', 'w'); stream_filter_append($fp, 'string.toupper'); fwrite($fp, "This is a test.\n"); /* Выведет: THIS IS A TEST. */ ?>
string.tolower
<?php $fp = fopen('php://output', 'w'); stream_filter_append($fp, 'string.tolower'); fwrite($fp, "This is a test.\n"); /* Выведет: this is a test. */ ?>
string.strip_tags
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'string.strip_tags', STREAM_FILTER_WRITE, "<b><i><u>");
fwrite($fp, "<b>bolded text</b> enlarged to a <h1>level 1 heading</h1>\n");
fclose($fp);
/* Выведет: <b>bolded text</b> enlarged to a level 1 heading */
Преобразовывающие фильтры
convert.base64-encode и convert.base64-decode Использование этих фильтров эквивалентно обработке всех данных потока функциями base64_encode() и base64_decode() соответственно.
Шифрующие фильтры
mcrypt.* и mdecrypt.* обеспечивают симметричное шифрование и дешифрование при помощи libmcrypt.
Компрессионные фильтры
Семейство фильтров, которые используются для компрессии и декомпрессии данных, с использованием библиотеки zlib.