[PHP-users 3689] Re: メール添付画像ファイルのファイル名を取得したい

AKUNE Yutaka php-users@php.gr.jp
Tue, 20 Nov 2001 09:57:38 +0900


阿久根です。おはようございます。


On Mon, 19 Nov 2001 18:59:50 +0900
"Jun 2kawa" <2kawa@crypton.co.jp> wrote:

> ちなみに $attachmentName という属性名はどこでお知りになったのでしょう
> か。。。

ちょっと勘違いなさっているようですが、$attachmentName は私が便宜上定義し
た変数名でしかありません。実体は前のメールでも書きましたけど、
$attachmentName = $Structure->parts[1]->parameters[0]->value;
にはいってます。$Structure は、imap_fetchstructure オブジェクトです。

imap_fetchstructureオブジェクトのマルチパートメールの各パートが、それぞ
れ parameters、もしくは dparameters 配列を保有しています。その中には、
http://php3.de/manual/ja/function.imap-fetchstructure.php のマニュアルに
書いてありますように、

> parameterはオブジェクトの配列です。 各オブジェクトはプロパティ"attribute"
> および"value"を有しています。 

この attribute もしくは value というのは、例えば下記の様な例のメールの場合、

--------_3BF863D99FEB01935548_MULTIPART_MIXED_ 
Content-Type: text/plain; charset="ISO-2022-JP" 
Content-Transfer-Encoding: 7bit 

テキスト

--------_3BF863D99FEB01935548_MULTIPART_MIXED_ 
Content-Type: application/octet-stream; name="display.svg" 
Content-Disposition: attachment; 
filename="display.svg" 
Content-Transfer-Encoding: base64 

バイナリ部分

--------_3BF863D99FEB01935548_MULTIPART_MIXED_-- 

$Structure->parts[0]->parameters[0]->attribute は "CHARSET" を、value で
は、 ISO-2022-JP を返します。parts[1] にするとそれぞれ、NAME と display.svg



> 解決したらまたご報告します。


------8<------
yutaka akune
csakune@ipc.pioneer.co.jp