Como todos os filtros string.*, os filtros convert.* realizam ações similares aos seus nomes. Os filtros de conversão foram adicionados com o PHP 5.0.0. Para mais informações sobre um determinado filtro, veja a página do manual para a função correspondente.
convert.base64-encode e
convert.base64-decode
O uso desses filtros é equivalente a processar todos os dados da stream com as
funções base64_encode() e base64_decode()
respectivamente.
convert.base64-encode suporta parâmetros no formato de
um array associativo. Se line-length
for passado, a
saída do base64 será dividida em pedaços de line-length
caracteres cada. Se line-break-chars
for passado, cada
pedaço será delimitado pelos caracteres passados. Esses parâmetros dão o
mesmo efeito que usar base64_encode() com
chunk_split().
Exemplo #1 convert.base64-encode & convert.base64-decode
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode');
fwrite($fp, "Isto é um teste.\n");
fclose($fp);
/* Saída: SXN0byDDqSB1bSB0ZXN0ZS4K */
$param = array('line-length' => 8, 'line-break-chars' => "\r\n");
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-encode', STREAM_FILTER_WRITE, $param);
fwrite($fp, "Isto é um teste.\n");
fclose($fp);
/* Saída: SXN0byDD
: qSB1bSB0
: ZXN0ZS4K */
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "SXN0byDDqSB1bSB0ZXN0ZS4K");
fclose($fp);
/* Saída: Isto é um teste. */
?>
convert.quoted-printable-encode e
convert.quoted-printable-decode
O uso da versão de decodificação desse filtro é equivalente ao processamento de todos os dados
da stream pelas funções quoted_printable_decode().
Não há nenhuma função equivalente a convert.quoted-printable-encode.
convert.quoted-printable-encode suporta parâmetros passados como
um array associativo. Além dos parâmetros suportados por
convert.base64-encode, convert.quoted-printable-encode
também suporta os argumentos booleanos binary
e
force-encode-first
.
convert.base64-decode suporta apenas o
parâmetro line-break-chars
como uma dica de tipo
para retirar do conteúdo codificado.
Exemplo #2 convert.quoted-printable-encode & convert.quoted-printable-decode
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.quoted-printable-encode');
fwrite($fp, "Isto é um teste.\n");
/* Saída: Isto =C3=A9 um teste.=0A */
?>