ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

教えて!ホームページ作成Q&Aコミュの【質問】CGIメールフォーム 添付ファイルについて

  • mixiチェック
  • このエントリーをはてなブックマークに追加
はじめまして。添付機能付きのメールフォームを作成しているPerl初心者です・・・。

★フォーム★
添付部分は、type="file" name="file"です。
<form action="form.cgi" method="post" enctype="multipart/form-data">としています。
-----------------------
use CGI;
$query = CGI->new;

# 全てのパラメータ名を取得
@name = $query->param;

foreach $name (@name){
$val = $query->param($name);
push(@val,$val);
$in{$name} = $val;
}


# ファイル処理
if ($in{'file'} ne "") {
$fh = $query->upload('file');
$type = $query->uploadInfo($fh)->{'Content-Type'};
if ( $fh =~ /\w+\.\w+$/ ){
$filename = $&;
}else{
$fh =~ /\w+$/;
$filename = $&;
}
}
---------------------
この処理で送信をすると、
「Can't use an undefined value as a HASH reference at :\www\home\information\pressform.cgi line 78.」
とエラーになってしまいます。
line 78は、「$type = $query->uploadInfo($fh)->{'Content-Type'};」の部分です。

$filename、$type、$fhを表示させるとそれぞれ値は出ているようなんですが・・・。
例)
$filename:photo_depp_img4.jpg
$type:image/pjpeg
$fh:C:\Documents and Settings\oh_hp\デスクトップ\photo_depp_img4.jpg

$queryは、CGI=HASH(0x1b0f41c)と表示されます。

・確認画面まではうまく表示されます。
・添付ファイルをつけなければ、上記エラーはでないで送信完了画面までいきます。

上記エラーになる原因はなんでしょう??
どなたかお教えください!よろしくお願いします。

コメント(0)

mixiユーザー
ログインしてコメントしよう!

教えて!ホームページ作成Q&A 更新情報

教えて!ホームページ作成Q&Aのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。