プロが教える店舗&オフィスのセキュリティ対策術

今回質問させて頂くことに関連した問題を、現在MySQLのカテゴリで質問させていただいているのですが、
バイナリファイルをアップロードし、そのファイルのバイナリデータを変数($img)に格納し、それをDBに格納するという形を目指しています。しかし、DBにどうしても格納できません。もしやバイナリデータを変数に格納する時点で、既におかしいのかと思いまして、その部分についてこちらでご教授頂きたく書き込ませていただきました。
#!C:\Perl
use CGI;
use DBI;
$PCMOJPATH='C:\パス名'; #ディレクトリ指定
my ($buffer);
my $query = new CGI;

$uniqid = time . "_" . $$;
$newfile = "upload_$uniqid"; #ファイル名

print "Content-type: text/html\n\n";
print "<html><body>\n";

my $fH = $query->upload('filename');
my $mimetype = $query->uploadInfo($fH)->{'Content-Type'};

open (OUT, ">$PCMOJPATH/$newfile");
binmode (OUT);
while(read($fH, $buffer, 1024)){
print OUT $buffer;
$img .= $buffer;   #バイナリデータを$imgに格納
}
close (OUT);
close ($fH) if ($CGI::OS ne 'UNIX');
chmod (0666, "$PCMOJPATH/$newfile");
-------------------------
と書いているのですが、$imgにはバイナリデータがちゃんと入っていないのでしょうか?間違っているところがあれば、どのように直したらいいか教えてください。どうぞよろしくお願いします。

A 回答 (11件中11~11件)

まず根本的な質問なんですが、そのCGIへのアップロード


のenctypeは?

<FORM action="" method="post" enctype="multipart/form-data">

で書かれていますか?
    • good
    • 0
この回答へのお礼

早速のご回答どうもありがとうございます。
ご質問について、一部ですが記載させて頂きます。

<form action="cgi-bin/ファイル名" method="post" enctype="multipart/form-data">

<input type="file" name="filename">
としております。
どうぞよろしくお願いします。

お礼日時:2005/01/12 01:29

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!