Создаёт поле MIME-заголовка

# iconv_mime_encode

(PHP 5, PHP 7, PHP 8)

iconv_mime_encode — Создаёт поле `MIME`-заголовка

### Описание

function iconv_mime_encode(string `$field_name`, string `$field_value`, array `$options` = []): string|false

Создаёт и возвращает корректное поле `MIME`-заголовка в виде строки вида:

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

В примере выше "Subject" является именем поля, а часть строки, начиная с "=?ISO-8859-1?..." - его значение.

### Список параметров

`field_name`

  Имя поля.

`field_value`

  Значение поля.

`options`

  Есть возможность контролировать поведение функции iconv_mime_encode() посредством передачи массива с настройками в качестве третьего аргумента `options`. Возможные значения этого массива, поддерживаемые функцией iconv_mime_encode(), перечислены ниже. Обратите внимание, что имена элементов чувствительны к регистру символов.

  Настройки, поддерживаемые в iconv_mime_encode()
  Элемент | Тип | Описание | Значение по умолчанию | Пример
  --- | --- | --- | --- | ---
  scheme | string | Задаёт, каким образом закодировать значение поля. Значением этого элемента может быть либо "B", либо "Q". "B" означает схему кодирования `base64`, а "Q" - `quoted-printable`. | B | B
  input-charset | string | Задаёт, в какой кодировке представлены аргументы `field_name` и `field_value`. Если не задан, iconv_mime_encode() предполагает, что набор символов указан в ini-настройке iconv.internal_encoding. | iconv.internal_encoding | ISO-8859-1
  output-charset | string | Задаёт набор символов, в котором будет представлен результирующий `MIME`-заголовок. | iconv.internal_encoding | UTF-8
  line-length | int | Устанавливает максимальную длину строк заголовка. Если результирующий заголовок окажется длиннее этой величины, функция его разрежет на несколько строк в соответствии с » Форматом интернет сообщений - RFC2822. Если не задан, эта длина будет установлена 76 символов. | 76 | 996
  line-break-chars | string | Задаёт последовательность символов, которые будут использоваться для завершения "разрезанных" строк заголовка, если заголовок окажется длиннее одной строки. Если не задан, будут использоваться символы "\r\n" (`CR` `LF`). Обратите внимание, что этот аргумент всегда обрабатывается как строка ASCII вне зависимости от значения `input-charset`. | \r\n | \n

### Возвращаемые значения

Возвращает закодированное `MIME`-поле в случае успешного выполнения или `false` в случае возникновения ошибки.

### Примеры

Пример #1 Пример использования iconv_mime_encode()

    <?php
    $preferences = array(
        "input-charset" => "ISO-8859-1",
        "output-charset" => "UTF-8",
        "line-length" => 76,
        "line-break-chars" => "\n"
    );
    $preferences["scheme"] = "Q";
    // Результат "Subject: =?UTF-8?Q?Pr=C3=BCfung=20Pr=C3=BCfung?="
    echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);

    $preferences["scheme"] = "B";
    // Результат "Subject: =?UTF-8?B?UHLDvGZ1bmcgUHLDvGZ1bmc=?="
    echo iconv_mime_encode("Subject", "Prüfung Prüfung", $preferences);
    ?>

### Смотрите также

- imap_binary() - Конвертирует 8-битную строку в строку base64
- mb_encode_mimeheader() - Кодирует строку для заголовка MIME
- imap_8bit() - Конвертирует 8-битную строку в строку в формате quoted-printable
- quoted_printable_encode() - Преобразовывает 8-битную строку методом quoted-printable

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open