指定したファイルへアップロード

"enctype="multipart/form-data""を使用

test07.cgi(アップロード送信)

#!"C:/Perl64/bin/perl.exe"
 
use strict;
use warnings;
 
print "Content-Type: text/html;charset=utf-8\n\n";
 
# タイトル
my $title = "テストタイトル";
my $data = "テスト Hello World";
 
my $fileName = "download.csv";
my $fileData;
if( -e "$fileName"){
    # ファイルオープン
    open FO, "<$fileName";
 
    while(my $line = <FO>){
        $fileData .= $line;
    }
 
    # ファイルクローズ
    close FO;
}
 
# 文字列変更
$fileData =~ s/\n/<br \/>/g;
 
print <<HTML_EOF;
<html>
	<head>
		<title>$title</title>
	</head>
	<body>
		<div>
			$data
		</div>
		<hr />
		<form action="./test08.cgi" method="post" enctype="multipart/form-data">
			 <input type=file name="upfile">
			 <input type=submit name=sub value="Uplaod">
		 </form>
		 <div>
		     $fileData
		 </div>
	</body>
</html>
HTML_EOF
 
 
 

test08.cgi(アップロード処理

#!"C:/Perl64/bin/perl.exe"
 
use strict;
use warnings;
 
use CGI;
use File::Copy;
use File::Basename;
 
my $q = new CGI;
 
my $fname = basename($q->param('upfile'));
my $path = ".";
my $newfile = "$path/$fname";
 
my $fh = $q->upload('upfile');
copy ($fh, "$newfile");
undef $q;
 
# リダイレクト
print "Location: ./test07.cgi\n\n";
 
 

画面結果

ファイルを設定して送信

アップロードしたファイルを読み込み表示



最終更新:2012年01月18日 23:02