こんにちは、メールの特定の本文の添付ファイルを抽出する PHP IMAP 関数があります。次の記事を見つけました: http://www.linuxscope.net/articles/mailAttachmentsPHP.htmlしかし、エラーが表示されます: 警告: imap_bodystruct( ) [function.imap-bodystruct]: メッセージ番号が間違っています。何が欠けているのかわかりません。これが私のコードです
session_start();
include('settings.php');
include('vars.php');
$struct = imap_fetchstructure($mbox,$getmsgid, FT_UID);
$contentParts = count($struct->parts);
if ( $contentParts >= 2 ) {
for ( $ii=2; $ii<=$contentParts; $ii++ ) {
$att[$ii-2] = imap_bodystruct($mbox,$getmsgid, $ii);
echo $ii . '<br />';
}
for ($k=0;$k<sizeof($att);$k++) {
if ($att[$k]->parameters[0]->value == "us-ascii" || $att[$k]->parameters[0]->value == "US-ASCII") {
if ($att[$k]->parameters[1]->value != "") {
$selectBoxDisplay[$k] = $att[$k]->parameters[1]->value;
}
}elseif ($att[$k]->parameters[0]->value != "iso-8859-1" && $att[$k]->parameters[0]->value != "ISO-8859-1") {
$selectBoxDisplay[$k] = $att[$k]->parameters[0]->value;
}
}
}
if (sizeof($selectBoxDisplay) > 0) {
echo "<select name=\"attachments\" size=\"3\" class=\"tblContent\" onChange=\"handleFile(this.value)\" style=\"width:170;\">";
for ($j=0;$j<sizeof($selectBoxDisplay);$j++) {
echo "\n<option value=\"$j\">". $selectBoxDisplay[$j] ."</option>";
}
echo "</select>";
}
settings.php には $mbox 接続が含まれており、正常に動作します。ここでの唯一の問題は imap_bodystruct($mbox,$getmsgid, $ii); です。私の構文に問題はありますか?
ありがとうございます、