カスタム検索
このエントリーをはてなブックマークに追加
tomo.gif (1144 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)line.gif (927 ツバツイツト)To previous pageTo home pageMailing to me

ファイルをアップロードする方法

Created: 27 July 2008


ファイルをアップロードする基本例 (27 July 2008)
複数のファイルをアップロードする方法 (27 July 2008)


ファイルをアップロードする基本例

type="file"を指定すると、「参照」ボタンが表示され、アップロードするファイルを選択できます。

<html>
<body>

<form action="upload.cgi" method="POST" ENCTYPE="multipart/form-data">

<p>file <input type="file" name="uploadFile"></p>

<p><input type="submit" value="OK"></p>
</form>

</body>
</html>

上記フォームの送信先(=フォームの処理)の内容、"upload.cgi"のようにします。

#!/usr/bin/perl

use CGI;

my $form = new CGI;
print $form->header("text/html");

my $filename = $form->param('uploadFile');

# パス名からファイル名の取り出し
@newfile = split /\\/, $filename;
$newfile = pop @newfile;

# ファイルを保存する。
open (OUTFILE,">/tmp/$newfile") or die "Can't make serverside file!\n";
while ($bytesread = read($filename,$buffer,1024)) {
  print OUTFILE $buffer;
}

print "O.K. File($filename) was uploaded as $newfile<br>\n";

複数のファイルをアップロードする方法

type="file"を複数設けると、複数のファイルが選択できます。

<html>
<body>

<form action="upload.cgi" method="POST" ENCTYPE="multipart/form-data">

<p>file <input type="file" name="uploadFile1"></p>
<p>file <input type="file" name="uploadFile2"></p>

<p><input type="submit" value="OK"></p>
</form>

</body>
</html>

上記フォームの送信先(=フォームの処理)の内容、"upload.cgi"では、それぞれ処理します。

#!/usr/bin/perl

use CGI;

my $form = new CGI;
print $form->header("text/html");

# =============== 1番目のファイイルの処理 =============== #

my $filename = $form->param('uploadFile1');

# パス名からファイル名の取り出し
@newfile = split /\\/, $filename;
$newfile = pop @newfile;

# ファイルを保存する。
open (OUTFILE,">/tmp/$newfile") or die "Can't make serverside file!\n";
while ($bytesread = read($filename,$buffer,1024)) {
  print OUTFILE $buffer;
}

print "O.K. File($filename) was uploaded as $newfile<br>\n";

# =============== 2番目のファイイルの処理 =============== #

my $filename = $form->param('uploadFile2');

# パス名からファイル名の取り出し
@newfile = split /\\/, $filename;
$newfile = pop @newfile;

# ファイルを保存する。
open (OUTFILE,">/tmp/$newfile") or die "Can't make serverside file!\n";
while ($bytesread = read($filename,$buffer,1024)) {
  print OUTFILE $buffer;
}

print "O.K. File($filename) was uploaded as $newfile<br>\n";

 


To previous pageTo home pageMailing to meJump to Top of pageline.gif (927 ツバツイツト)line.gif (927 ツバツイツト)tomo.gif (1144 ツバツイツト)
カスタム検索



このエントリーをはてなブックマークに追加