PHP 8.0.3 Released!

Filtres de conversion

Comme pour les filtres de chaîne de caractères, les filtres de conversion font ce que leur nom indique. Pour plus d'informations sur un filtre donné, se référer à la page du manuel de la fonction correspondante.

convert.base64-encode et convert.base64-decode

L'utilisation de ce filtre est équivalent à traiter toutes les données du flux à travers les fonctions base64_encode() et base64_decode() respectivement. convert.base64-encode supporte les paramètres sous forme de tableau associatif. Si line-length est fourni, la sortie base64 sera séparé en lignes de line-length caractères. Si line-break-chars est founi, chaque bloc de caractères sera délimité par le caractère fourni. Ces paramètres donnent le même effet que la fonction base64_encode() utilisée conjointement avec chunk_split().

Exemple #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);
/* affiche :  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);
/* affiche :  VGhpcyBp
           :  cyBhIHRl
           :  c3QuCg==  */

$fp fopen('php://output''w');
stream_filter_append($fp'convert.base64-decode');
fwrite($fp"VGhpcyBpcyBhIHRlc3QuCg==");
fclose($fp);
/* affiche :  This is a test.  */
?>

convert.quoted-printable-encode et convert.quoted-printable-decode

L'utilisation de la version decode ce filtre est équivalent à traiter toutes les données du flux à travers la fonction quoted_printable_decode(). Il n'y a pas d'équivalent fonctionnel à convert.quoted-printable-encode. convert.quoted-printable-encode supporte les paramètres sous forme de tableau associatif. En plus des paramètres supportés par convert.base64-encode, convert.quoted-printable-encode accepte aussi les arguments booléen binary et force-encode-first. convert.base64-decode supporte uniquement le paramètre line-break-chars en tant qu'indicateur de type pour l'extraction de la charge codée.

Exemple #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");
/* affiche :  =This is a test.=0A  */
?>

convert.iconv.*

Les filtres convert.iconv.* sont disponible, si le support de iconv est activé, et leurs usages est équivalent à traiter toutes les données du flux avec iconv(). Ces filtres ne supportent pas de paramètres, mais s'attendent à la place que le nom du filtre contienne l'encodage des données en saisie et de sortie, c.à.d. convert.iconv.<input-encoding>.<output-encoding> ou convert.iconv.<input-encoding>/<output-encoding> (les deux notations sont sémentiquement équivalente).

Exemple #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);
/* Outputs: This is a test. */
?>
add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top