За последние 24 часа нас посетили 15117 программистов и 1764 робота. Сейчас ищут 1666 программистов ...

imap_fetchstructure и файлы с UTF-8 кодировкой

Тема в разделе "Работа с почтой", создана пользователем DmSoft, 20 июн 2011.

  1. DmSoft

    DmSoft Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    4
    Симпатии:
    0
    Задача стоит извлечь из письма прикрепленные файлы и разложить по папочкам.
    С win1215 - никаких проблем не возникло.

    А вот с письмами в кодировке UTF8 обнаружил, что imap_fetchstructure возвращает только часть имени файла.
    Вот заголовок нужной мне части в оригинале письма с полным именем:
    Content-Transfer-Encoding: base64
    Content-Type: application/vnd.ms-excel;
    name*=UTF-8''%D0%9F%D1%80%D0%B0%D0%B9%D1%81%2016,06,11.xls
    Content-Disposition: attachment;
    filename*=UTF-8''%D0%9F%D1%80%D0%B0%D0%B9%D1%81%2016,06,11.xls

    А вот так возвращает imap_fetchstructure:
    stdClass Object
    (
    [type] => 3
    [encoding] => 3
    [ifsubtype] => 1
    [subtype] => VND.MS-EXCEL
    [ifdescription] => 0
    [ifid] => 0
    [bytes] => 391654
    [ifdisposition] => 1
    [disposition] => ATTACHMENT
    [ifdparameters] => 1
    [dparameters] => Array
    (
    [0] => stdClass Object
    (
    [attribute] => FILENAME*
    [value] => UTF-8''%D0%9F%D1%80%D0%B0%D0%B9%D1%81%2016
    )

    )

    [ifparameters] => 1
    [parameters] => Array
    (
    [0] => stdClass Object
    (
    [attribute] => NAME*
    [value] => UTF-8''%D0%9F%D1%80%D0%B0%D0%B9%D1%81%2016
    )

    )

    )

    Начиная с символа запятой "," имя образано.
    Где остальное имя файла? Кто с таким встречался?
     
  2. DmSoft

    DmSoft Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    4
    Симпатии:
    0
    Разобрал заголовок "руками".
    Получил все тело письма imap_body,
    нашел разделитель в заголовке, нашел нужную мне часть письма, ну и там нашел полное имя файла.

    У кого будут другие соображения, пишите.