【Perl】ファイルアップロード 基本編 - [0]

ファイルアップロード:ファイルをサーバに保存


サンプルプログラム

index.cgi(メインファイル)

<html>
<head>
<title>File Up load Using PERL</title>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-JP">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<form name="frm" method="post" action="/cgi-bin/Perl/SamplefileUpload.cgi" enctype="multipart/form-data">
<input type="file" name="fileName" size="60"><BR>
<input type="submit" name="submit">
</form>
</body>
</html>

SamplefileUpload.cgi

#!C:/Perl/bin/perl

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

print << "END_OF_HTML";
<HTML>
<BODY>
END_OF_HTML

use CGI;
$query = new CGI;

# To Get File Name
$filename = $query->param('fileName');
# To Get MIME type
$type = $query->uploadInfo($filename)->{'Content-Type'};

# To Get File data
while($bytesread = read($filename, $buffer, 2048)) {
	$file .= $buffer;
}

$filePath = "> ./data/" . $filename;

# To save the file
open(OUT, $filePath) or die("Failed to upload the file...");
binmode(OUT);
print(OUT $file);
close(OUT);

print << "END_OF_HTML";
<b>File Upload is successful!!</b><br>
<hr>
File Name : $filename<br>
MIME type : $type<br>

</BODY>
</HTML>
END_OF_HTML

exit;