Как и фильтры string.*, фильтры convert.* совершают действия,
соответствующие их именам. Преобразовывающие фильтры были добавлены
в PHP 5.0.0.
Для получения дополнительной информации о конкретном фильтре,
обратитесь к странице руководства соответствующей функции.
convert.base64-encode и
convert.base64-decode
Использование этих фильтров эквивалентно обработке всех данных потока
функциями base64_encode() и
base64_decode() соответственно.
convert.base64-encode поддерживает аргументы, переданные
в виде ассоциативного массива. Если указан аргумент
line-length, результат base64 будет разделён на
куски длинной line-length символов каждый.
Если указан аргумент line-break-chars,
каждый кусок будет разделён указанными символами. Эти параметры дают
такой же эффект, как и использование base64_encode()
в паре с chunk_split().
Пример N-5. convert.base64-encode и convert.base64-decode
<?php $fp = fopen('php://output', 'w'); stream_filter_append($fp, 'convert.base64-encode'); fwrite($fp, "This is a test.\n"); fclose($fp); /* Outputs: VGhpcyBpcyBhIHRlc3QuCg== */
$fp = fopen('php://output', 'w'); stream_filter_append($fp, 'convert.base64-decode'); fwrite($fp, "VGhpcyBpcyBhIHRlc3QuCg=="); fclose($fp); /* Outputs: This is a test. */ ?>
convert.quoted-printable-encode и
convert.quoted-printable-decode
Использование decode-версии этого фильтра эквивалентно обработке всех
данных потока функцией quoted_printable_decode().
У фильтра convert.quoted-printable-encode нету
эквивалентной функции.
convert.quoted-printable-encode поддерживает аргументы,
переданные в виде ассоциативного массива. В дополнение к аргументам,
поддерживаемыми convert.base64-encode,
convert.quoted-printable-encode также поддерживает
boolean-аргументы binary и
force-encode-first.
convert.base64-decode поддерживает лишь аргумент
line-break-chars в качестве подсказки для
чистки закодированных данных.
Пример N-6.
convert.quoted-printable-encode &
convert.quoted-printable-decode
<?php $fp = fopen('php://output', 'w'); stream_filter_append($fp, 'convert.quoted-printable-encode'); fwrite($fp, "This is a test.\n"); /* Outputs: =This is a test.=0A */ ?>