PHP-এ, iconv_mime_decode_headers() ফাংশনটি একবারে একাধিক MIME হেডার ফিল্ড ডিকোড করতে ব্যবহৃত হয়। এটি PHP-এ একটি বিল্ট-ইন ফাংশন।
সিনট্যাক্স
iconv_mime_decode_headers($str_headers, $int_mode, $str_encoding)
প্যারামিটার
iconv_mime_decode_headers() ফাংশনটি তিনটি ভিন্ন প্যারামিটার গ্রহণ করে− $headers, $mode এবং $encoding।
$headers − $header প্যারামিটারটি এনকোডেড হেডারগুলোর জন্য ব্যবহৃত হয়। এটি একটি স্ট্রিং টাইপ প্যারামিটার।
$mode − $mode প্যারামিটারটি আচরণ নির্ধারণ করে যখন iconv_mime_decode_headers() একটি ডিফর্মড MIME হেডার ফিল্ড সামনে পায়। আমরা নিচের বিটমাস্কের যেকোনো কম্বিনেশন ব্যবহার করতে পারি।
iconv_mime_decode_headers()-এ গ্রহণযোগ্য বিটমাস্কের তালিকা
- ICONV_MIME_DECODE_STRICT
- ICONV_MIME_DECODE_CONTINUE_ON_ERROR
- ICONV_MIME_DECODE_STRICT - যদি iconv_mime_decode_strict সেট করা থাকে, দেয়া হেডারটি পুরোপুরি সম্মতিতে ডিকোড হবে কিন্তু এই অপশনটি ডিফল্টভাবে ডিসেবল থাকে অনেক ভাঙা মেইল ইউজার এজেন্টের কারণে যারা রিকোয়ারমেন্ট ফলো করে না এবং সঠিক MIME হেডার প্রডিউস করে না।
- ICONV_MIME_DECODE_CONTINUE_ON_ERROR - যদি iconv_mime_decode_continue_on_error() প্যারামিটারটি সেট করা থাকে, এটি যেকোনো গ্রাম্যাত্মক ত্রুটি উপেক্ষা করে এবং একটি দেয়া হেডার প্রক্রিয়া চালিয়ে রাখে।
$encoding − এনকোডিং একটি অপশনাল প্যারামিটার যা রেজাল্ট রিপ্রেজেন্ট করার ক্যারেক্টার সেট নির্দিষ্ট করতে ব্যবহৃত হয়। iconv.internal_encoding ব্যবহার করা হবে যদি বাদ দেওয়া হয় বা null হয়।
রিটার্ন মান
iconv_mime_decode_headers() ফাংশনটি একটি অ্যাসোসিয়েটিভ অ্যারে রিটার্ন করে যা headers দ্বারা নির্দিষ্ট পুরো MIME হেডার ফিল্ড সেট ধারণ করে সাফল্যে, অথবা ডিকোডিং এর সময় যদি কোনো এরর থাকে তবে False রিটার্ন করে।
উদাহরণ ১
<pre> <?php $str_headers = <<<EOF Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?= To: xyz@example.com Date: Mon, 21 Jun 2021 00:00:00 +0000 Message-Id: <xyz@example.com> Received: from localhost (localhost [127.0.0.1]) by localhost with SMTP id xyz for <xyz@example.com>; Mon, 21 Jun 2021 00:00:00 +0000 (UTC) (envelope-from example-return-0000-xyz=xyz.com@example.com) Received: (qmail 0 invoked by uid 65534); 21 Mon 2005 00:00:00 +0000 EOF; $headers = iconv_mime_decode_headers($str_headers, 0, "ISO-8859-1"); print_r($headers); ?> </pre>
আউটপুট
Array ( [Subject] => Prfung Prfung [To] => xyz@example.com [Date] => Mon, 21 Jun 2021 00:00:00 +0000 [Message-Id] => [Received] => Array ( [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id xyz for ; Mon, 21 Jun 2021 00:00:00 +0000 (UTC) (envelope-from example-return-0000-xyz=xyz.com@example.com) [1] => (qmail 0 invoked by uid 65534); 21 Mon 2005 00:00:00 +0000 ) )