CGI-BBS > CGI > Perl > cgi-lib.plでファイルアップロード


カレッヂ
カレッヂ


質問者 Can  投稿日 10/5(金) 18:30:08
"cgi-lib.pl"でファイルアップロードをしているのですが、
アップロードするファイルのファイル名を取得するにはどうすればいいでしょうか。

また、cgi-lib.plを日本語解説しているサイト等もあれば教えてください。

よろしくお願いします。
回答者 Doi  [削除]  投稿日 2006/10/27(金) 15:23:58
以下のフォームから送る場合の説明をします

<form action="fileup.cgi" method="POST" enctype="multipart/form-data">
<input type=file name=upfile size=50>
<input type=submit value="アップロード">
</form>

require 'cgi-lib.pl';
&ReadParse;
$upfile = $in{'upfile'};  ←ファイル本体
$name   = $incfn{"upfile"}; ←フォルダ名とファイル名

ディレクトリ情報も一緒にくっついてきますので
「c:\photo\001.jpg」のような値が返されます。
そこで、下記のようにしてファイル名だけにします
@names = split(/\\/,$name);
$name = $names[$#names];

その後は
open(OUT,">$name");
binmode(OUT);
print OUT $upfile;
close(OUT);

これでファイル名そのままでアップできます

返信(回答)する


Web裏技