名簿CGI(画像・SS付き)
<INPUT type="file" name="file" size="50" >また、このタグを含む FORM タグは、method を POST 、enctype に multipart/form-data を指定します。
<FORM method="POST" enctype="multipart/form-data" action="./adrsBook2.cgi">
use CGI_Lite;
my $cgi = new CGI_Lite();で、CGI_Lite() クラスの実体を $cgi に作成し、画像を保存するディレクトリ、受信用バッファのサイズ、タイムスタンプ(日付)の有無などを設定します。parse_form_data();
で、受信データを解析(parse)し、ファイルを $UploadDir に配置し、そのファイル名を $form{'file'} に設定します。 my $UploadDir="./img";
my $BUFFER = 2048;
my $cgi = new CGI_Lite();
#画像のアップロードのための設定
$cgi->set_directory("$UploadDir") || die &error;
$cgi->set_platform("Unix");
$cgi -> set_buffer_size($BUFFER);
$cgi -> add_timestamp(0);
$cgi->close_all_files;
#FORM,画像受け取り
my %form;
%form=$cgi->parse_form_data();
CGI_Lite ライブラリ(CGI_Lite.pm)はインターネットからダウンロードできます。このライブラリは、mimew.pl と jcode.pl を必要とします。これらのファイルをダウンロードして、cgi のあるフォルダに配置してください。 require "imgSz.pl";
($width,$height)=&imgSz::getSize("$UploadDir/$file");
if($width > 250) { #幅が250以下になるようサイズ調整
$height =int( $height * 250/$width);
$width=250;
};
imgSz(imgSz.pl)はインターネットからダウンロードできます。 if($form{'mode'} eq 'record') {&record();} #ファイルに保存
if($form{'mode'} eq 'view') {&view();} #名簿を表示
if($form{'mode'} eq 'edit') {&edit();} #編集
print qq(<STYLE>\n<!--);
print qq(td{ font-size:10pt;padding:5px; });
print qq(-->\n</STYLE>);
<A href="adrsBook2.cgi?mode=edit">名簿表示・編集</A>実行するには、cgi のあるフォルダに、$UploadDir で指定するディレクトリ(img)を作成し、w 許可を設定しておく必要があります。また、cgi のあるフォルダに名簿を保存するファイル adrsBook.txt を作成し、w 許可を設定しておく必要があります