PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのiconv_mime_decode()関数でMIMEヘッダーフィールドをデコードする方法

PHPでは、iconv_mime_decode()関数を使用することで、MIMEヘッダーフィールドをデコードできます。この関数はPHPに標準で組み込まれており、PHP 5以降のバージョンから利用可能です。

構文

String iconv_mime_decode(string $string, int $mode, string $encoding)

パラメータ

iconv_mime_decode()関数は、$string$mode$encodingという3つの引数を受け取ります。このうち$string$modeは必須パラメータですが、$encodingは省略可能です。

  • $string − エンコードされたヘッダーを指定します。文字列型のパラメータです。

  • $mode − 不正な形式のMIMEヘッダーフィールドに遭遇した際の動作を決定するパラメータです。以下に示すビットマスクを任意に組み合わせて指定できます。

    iconv_mime_decode_headers()が受け付けるビットマスクの一覧

    • ICONV_MIME_DECODE_STRICT

    • ICONV_MIME_DECODE_CONTINUE_ON_ERROR

    • ICONV_MIME_DECODE_STRICT − このオプションを設定すると、与えられたヘッダーは仕様に完全準拠した形でデコードされます。ただし、正しいMIMEヘッダーを生成しない不具合のあるメールユーザーエージェント(MUA)が多いため、このオプションはデフォルトでは無効になっています。

    • ICONV_MIME_DECODE_CONTINUE_ON_ERROR − このオプションを設定すると、文法上のエラーを無視しようとし、与えられたヘッダーの処理を続行します。

  • $encoding − 結果を表現するための文字セットを指定するオプションパラメータです。省略した場合やnullを指定した場合は、iconv.internal_encodingの設定値が使用されます。

戻り値

iconv_mime_decode()関数は、デコードが成功した場合にはデコード済みのMIMEフィールドを返します。デコード中にエラーが発生した場合には、Falseを返します。

使用例

<?php
    // 「Sub: Preços Olà.txt」が出力される
    echo iconv_mime_decode("Sub: =?utf-8?B?UHJlw4PCp29zIE9sw4PCoA==?=.txt ",
    0, "ISO-8859-1");
?>

出力結果

Sub: Preços Olà.txt
  1. PHPのimageellipse()関数で楕円を描画する方法を徹底解説

    imageellipse()は、PHPに標準で組み込まれているGDライブラリの関数の一つで、画像上に楕円を描画するために使用されます。処理が成功した場合はtrueを返し、失敗した場合はfalseを返します。 構文 bool imageellipse($image, $cx, $cy, $width, $height, $color) パラメータ imageellipse()は、以下の6つのパラメータを受け取ります:$image、$cx、$cy、$width、$height、$color。 $image − 描画対象となる画像リソースを指定します。imagecreatetruecolor()な

  2. PHPのimagecropauto()関数で画像を自動的に切り抜く方法を徹底解説

    imagecropauto()は、PHPに標準で組み込まれている関数の一つで、用意された複数のモードの中から選択して、画像を自動的に切り抜き(クロップ)することができます。構文resource imagecropauto(resource $image, int $mode, float $threshold, int $color)パラメータimagecropauto()は、$image、$mode、$threshold、$color の4つのパラメータを受け取ります。$image − 切り抜き対象となる画像リソースを指定します。$mode − 省略可能なパラメータで、切り抜きモードに対応す