Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP – สร้าง MIME Header Field ด้วย iconv_mime_encode()

ฟังก์ชัน iconv_mime_encode() ใช้สร้าง (compose) MIME header field เป็น built-in PHP function

รูปแบบการใช้งาน (Syntax)

string iconv_mime_encode(string $field_name, string $field_value, array $options = [])

ฟังก์ชันคืนค่าสตริงที่เป็น valid MIME header field ในรูปแบบ:

Subject: =ISO-8859-1?Q?Pr=FCfung_f=FFCr?= Entwerfen von einer MIME kopfzeile

หมายเหตุ: Subject คือ field name ส่วนที่ขึ้นต้นด้วย "=ISO-8859-1?..." คือ field value

พารามิเตอร์

  • $field_name – ชื่อฟิลด์ (เช่น "Subject")
  • $field_value – ค่าของฟิลด์
  • $options – associative array ควบคุมพฤติกรรม การตั้งค่าที่รองรับ:
    Item Type Description Default Value Example
    scheme string วิธีเข้ารหัส field value: B (base64) หรือ Q (quoted-printable) B Q
    input-charset string character set ของ field_name และ field_value ค่าเริ่มต้นจาก iconv.internal_charset iconv.internal_charset ISO-8859-1
    output-charset string character set สำหรับสร้าง MIME header ค่าเริ่มต้นใช้ input-charset input_charset UTF-8
    line-length integer ความยาวสูงสุดของ header lines 76 996
    line-break-chars string ลำดับตัวอักษรสำหรับ EOL เมื่อ fold บรรทัดยาว ค่าเริ่มต้น "\r\n" \r\n \n

ตัวอย่าง 1: ใช้ Q (quoted-printable) encoding

<?php
$options = [
    "input-charset" => "ISO-8859-2",
    "output-charset" => "UTF-8",
    "line-length" => 76,
    "line-break-chars" => "\n"
];
$options["scheme"] = "Q";
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: ใช้ B (base64) encoding

<?php
$options = [
    "input-charset" => "ISO-8859-1",
    "output-charset" => "UTF-8",
    "line-length" => 76,
    "line-break-chars" => "\n"
];
$options["scheme"] = "B";
echo iconv_mime_encode("Subject", "Preços Olà.txt", $options);
?>

ผลลัพธ์

Subject: =?UTF-8?B?UHJlw4PCp29zIE9sw4PCoC50eHQ=?=