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

htmlからパラメータで、cgiに渡したい。
現在ローカルから選択したファイル名そのままで、アップロードします。
それを、
htmlから、固定パラメータ(3333.mov)を渡してファイル名を固定したい。

index.html ファイル

<HTML>
<BODY>
<font size="14">
<FORM action="upload.cgi" enctype="multipart/form-data" method="post">
【動画ファイル】: <INPUT type="file" accept="video/*,.mov" name="upload_file" size="32"><BR>
<INPUT type="submit" value="送信">
</font>
</FORM>
</BODY>
</HTML>


upload.cgi ファイル

#!/usr/local/bin/perl
print "Content-type:text/html\n\n";
print << "END_OF_HTML";
<HTML>
<BODY>
END_OF_HTML
use CGI;
$query = new CGI;
# ファイル名の取得
$filename = $query->param('upload_file');
# MIMEタイプの取得
$type = $query->uploadInfo($filename)->{'Content-Type'};
# ファイルの受け取り
while($bytesread = read($filename, $buffer, 2048)) {
$file .= $buffer;
}
# ファイルの保存
open(OUT, "> ../mov/$filename") or die("ファイルの保存に失敗しました。");
binmode(OUT);
print(OUT $file);
close(OUT);
print << "END_OF_HTML";
<img src="./tmp.dat"><br>
ファイル名 : $filename<br>
MIMEタイプ : $type<br>
</BODY>
</HTML>
END_OF_HTML
exit;

A 回答 (1件)

<input type=file name=upload_file>


...
$filename = $query->param('upload_file');
...
open(OUT, "> ../mov/$filename");


<input type=file name=upload_file>
<input type=hidden name=save_name value=3333.mov>
...
$filename = $query->param('upload_file');
$savename = $query->param('save_name');
...
open(OUT, "> ../mov/$savename");
    • good
    • 2

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