Al igual que los filtros de chaîne de caractères, los filtros de conversión hacen lo que su nombre indica. Para más información sobre un filtro dado, consulte la página del manual de la función correspondiente.
El uso de este filtro es equivalente a tratar todos los datos
del flujo a través de las funciones base64_encode() y
base64_decode() respectivamente.
convert.base64-encode
soporta parámetros en forma
de tableau asociativo. Si line-length
es proporcionado,
la salida base64 será separada en líneas de line-length
caracteres. Si line-break-chars
es proporcionado, cada
bloque de caracteres será delimitado por el carácter proporcionado. Estos parámetros
dan el mismo efecto que la función base64_encode()
utilizada conjuntamente con chunk_split().
Ejemplo #1 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);
/* muestra : VGhpcyBpcyBhIHRlc3QuCg== */
$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, "This is a test.\n");
fclose($fp);
/* muestra : VGhpcyBp
: cyBhIHRl
: c3QuCg== */
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.base64-decode');
fwrite($fp, "VGhpcyBpcyBhIHRlc3QuCg==");
fclose($fp);
/* muestra : This is a test. */
?>
El uso de la versión decode de este filtro es equivalente a tratar todos
los datos del flujo a través de la función
quoted_printable_decode(). No hay equivalente
funcional a convert.quoted-printable-encode
.
convert.quoted-printable-encode
soporta parámetros
en forma de tableau asociativo. Además de los parámetros soportados por
convert.base64-encode
, convert.quoted-printable-encode
también acepta los argumentos booléen binary
y
force-encode-first
.
convert.base64-decode
soporta únicamente el parámetro
line-break-chars
como indicador de tipo para
la extracción de la carga codificada.
Ejemplo #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, "This is a test.\n");
/* muestra : =This is a test.=0A */
?>
Los filtros convert.iconv.*
están disponibles, si el soporte
de iconv está activado, y sus usos son
equivalentes a tratar todos los datos del flujo con iconv().
Estos filtros no soportan parámetros, pero se espera que el nombre del filtro contenga
la codificación de los datos de entrada y salida, es decir,
convert.iconv.<input-encoding>.<output-encoding>
o
convert.iconv.<input-encoding>/<output-encoding>
(ambas notaciones son semánticamente equivalentes).
Ejemplo #3 convert.iconv.*
<?php
$fp = fopen('php://output', 'w');
stream_filter_append($fp, 'convert.iconv.utf-16le.utf-8');
fwrite($fp, "T\0h\0i\0s\0 \0i\0s\0 \0a\0 \0t\0e\0s\0t\0.\0\n\0");
fclose($fp);
/* Muestra: This is a test. */
?>