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

PHP – เขียนฟิลด์ส่วนหัว MIME โดยใช้ฟังก์ชัน iconv_mime_encode()


ใน PHP iconv_mime_encode() ฟังก์ชันใช้สำหรับสร้างฟิลด์ส่วนหัว MIME นี่คือฟังก์ชัน PHP ในตัว

ไวยากรณ์

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

The iconv_mime_encode() ฟังก์ชันใช้เพื่อเขียนและส่งกลับสตริงที่แสดงฟิลด์ส่วนหัว MIME ที่ถูกต้อง ซึ่งมีลักษณะดังนี้ -

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

หมายเหตุ− ในตัวอย่างข้างต้น เรื่อง - คือ ชื่อฟิลด์ และส่วนที่ขึ้นต้นด้วย "=ISO-8859-1?..." คือ ค่าฟิลด์ .

พารามิเตอร์

iconv_mime_encode() ยอมรับพารามิเตอร์ที่แตกต่างกันสามตัว $field_name , $field_value และ $options .

  • $field_name − พารามิเตอร์นี้ใช้สำหรับชื่อฟิลด์

  • $field_value − พารามิเตอร์นี้ใช้สำหรับค่าฟิลด์

  • $options - เมื่อใช้พารามิเตอร์นี้ คุณสามารถควบคุมพฤติกรรมของ iconv_mime_encode() โดยการระบุอาเรย์ที่ประกอบด้วยรายการคอนฟิกูเรชันให้กับพารามิเตอร์ทางเลือก

ต่อไปนี้คือรายการการกำหนดค่าที่สนับสนุนโดย iconv_mime_encode()

รายการ

ประเภท

คำอธิบาย

ค่าเริ่มต้น

ตัวอย่าง

โครงการ

string

Scheme ระบุวิธีการเข้ารหัสค่าฟิลด์โดย ค่าของรายการนี้อาจเป็นรูปแบบการเข้ารหัส B (base64) หรือ Q (ที่เสนอราคาพิมพ์ได้)


input-charset

string

ระบุชุดอักขระ field_name เป็นพารามิเตอร์แรก และ field_value เป็นพารามิเตอร์ที่สอง หากไม่ได้ระบุพารามิเตอร์เหล่านี้ ฟังก์ชัน iconv_mime_encode() จะถือว่าพารามิเตอร์ดังกล่าวแสดงในการตั้งค่า iconv.internal_charset ini

iconv.internal_charset

ISO-8859-1

output-charset

string

ระบุชุดอักขระที่จะใช้เขียนส่วนหัว MIME หากไม่ได้รับก็จะใช้ค่าอินพุตชุดอักขระ

input_charset ใช้เป็นค่าเริ่มต้น

UTF-8

line-length

จำนวนเต็ม

ระบุความยาวสูงสุดของบรรทัดส่วนหัว

76

996

line-break-chars

string

ระบุลำดับของอักขระที่จะต่อท้ายแต่ละบรรทัดเป็น EOL เมื่อทำการพับบนฟิลด์ส่วนหัวแบบยาว หากไม่ได้รับ ค่าเริ่มต้นนี้เป็น “\r\n” (CR LF)

\r\n

\n

ตัวอย่างที่ 1 - การใช้รูปแบบการเข้ารหัสที่พิมพ์ได้ "Q"

<?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" => "\n"
   );
   // 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" => "\n"
   );

   // 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=?=