PHP – 使用 iconv_mime_encode() 函数编写 MIME 头字段
在 PHP 中,**iconv_mime_encode()** 函数用于编写 MIME 头字段。这是一个内置的 PHP 函数。
语法
string iconv_mime_encode(string $field_name, string $field_value, array $options=[])
**iconv_mime_encode()** 函数用于编写并返回一个表示有效 MIME 头字段的字符串,它看起来像这样:
Subject: =ISO-8859-1?Q?Pr=FCfung_f=FFCr?= Entwerfen von einer MIME kopfzeile
注意 - 在上面的例子中,**Subject -** 是**字段名称**,而从**"=ISO-8859-1?..."**开始的部分是**字段值**。
参数
**iconv_mime_encode()** 接受三个不同的参数 **-** **$field_name**、**$field_value** 和 **$options**。
**$field_name -** 此参数用于字段名称。
**$field_value -** 此参数用于字段值。
**$options -** 使用此参数,您可以通过指定包含配置项的关联数组到可选参数来控制 **iconv_mime_encode()** 的行为。
以下是 **iconv_mime_encode()** 支持的配置项列表:
项目 | 类型 | 描述 | 默认值 | 示例 |
---|---|---|---|---|
scheme | 字符串 | scheme 指定了用于编码字段值的方法。此项的值可以是 B(base64)或 Q(quoted-printable)编码方案。 | ||
input-charset | 字符串 | 它指定字符集,字段名称是第一个参数,字段值是第二个参数。如果没有给出这些参数,则 iconv_mime_encode() 函数假定它们可能以 iconv.internal_charset ini 设置的形式呈现。 | iconv.internal_charset | ISO-8859-1 |
output-charset | 字符串 | 它指定用于编写 MIME 头的字符集。如果未给出,则将使用 input-charset 值。 | input_charset 用作默认值 | UTF-8 |
line-length | 整数 | 它指定报头行的最大长度。 | 76 | 996 |
line-break-chars | 字符串 | 它指定在对长报头字段执行折叠时,附加到每一行作为 EOL 的字符序列。如果未给出,则默认为“\r ”(CR LF) | \r |
示例 1 - 使用 "Q" quoted-printable 编码方案
<?php // used configuration items supported by iconv_mime_encode() $options = array( "input-charset" => "ISO-8859-2", "output-charset" => "UTF-8", "line-length" => 76, "line-break-chars" => "
" ); // Q quoted-printable encoding scheme is used $options["scheme"] = "Q"; // Below code will show the result as // "Subject: =?UTF-8?Q?Pr=C3=BCfung=20Pr=C3=BCfung?=" echo iconv_mime_encode("Subject", "Prüfung Prüfung", $options); ?>
输出
Subject: =?UTF-8?Q?Pr=C3=83=C2=BCfung=20Pr=C3=83=C2=BCfung?=
示例 2
<?php // used configuration items supported by iconv_mime_encode() $options = array( "input-charset" => "ISO-8859-1", "output-charset" => "UTF-8", "line-length" => 76, "line-break-chars" => "
" ); // B base64 encoding scheme is used $options["scheme"] = "B"; // Below code will show the result as //"Subject: =?UTF-8?B?UHJlw4PCp29zIE9sw4PCoC50eHQ=?=" echo iconv_mime_encode("Subject", "Preços Olà.txt", $options); ?>
输出
Subject: =?UTF-8?B?UHJlw4PCp29zIE9sw4PCoC50eHQ=?=
广告