Like the string.* filters, the convert.* filters perform actions similar to their names. The convert filters were added with PHP 5.0.0. For more information on a given filter, refer to the manual page for the corresponding function.
convert.base64-encode and
convert.base64-decode
Use of these filters are equivalent to processing all stream data through
the base64_encode() and base64_decode()
functions respectively.
convert.base64-encode supports parameters given as
an associative array. If line-length
is given, the
base64 output will be split into chunks of line-length
characters each. If line-break-chars
is given, each
chunk will be delimited by the characters given. These parameters give the
same effect as using base64_encode() with
chunk_split().
Example #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);
/* Outputs: 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);
/* Outputs: VGhpcyBp
: cyBhIHRl
: c3QuCg== */
$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 and
convert.quoted-printable-decode
Use of the decode version of this filter is equivalent to processing all stream
data through the quoted_printable_decode() functions.
There is no function equivalent to convert.quoted-printable-encode.
convert.quoted-printable-encode supports parameters given as
an associative array. In addition to the parameters supported by
convert.base64-encode, convert.quoted-printable-encode
also supports boolean arguments binary
and
force-encode-first
.
convert.base64-decode only supports the
line-break-chars
parameter as a type-hint
for striping from the encoded payload.
Example #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");
/* Outputs: =This is a test.=0A */
?>