![]() |
| カレッヂ |
質問者 katochan
投稿日 3/26(水) 22:28:03
685行以下のコードが理解できません。
@in は未定義?のようですし、
filename= は該当するコードがない?ようです。
foreach (@in) {
($fname) = $_ =~ /\bfilename="([^"]*)"/i; #\b 区切り文字に一致
($fname) = $_ =~ /\bfilename=([^\s:;]+)/i unless defined $fname;
if ($fname eq '') { next; }
($name) = $_ =~ /\bname="([^"]+)"/i;
($name) = $_ =~ /\bname=([^\s:;]+)/i unless defined $name;
以下の2行の \s*Content-type:\s*"([^"]+)" がどれをさしているのか分からない。
($ctype) = $_ = /\s*Content-type:\s*"([^"]+)"/i;
($ctype) = $_ =~ /\s*Content-Type:\s*([^\s:;]+)/i unless defined $ctype;
unless ($ctype =~ /^image/i) { &error('エラー',"画像ファイル以外は取扱できません."); }
if ($ctype eq '') { &error('エラー',"$fnameはContent-Typeが認識できないために受付できません."); }
if ($name =~ /IMAGE/) {
プロバイダ参照: |
回答者 やまだ
[削除]
投稿日 3/26(水) 23:59:34
確かにin配列がmy|localで定義されていないですが、よく見ると適当に使われているのでglobal変数(mainクラス中)として 勝手に定義はされていると思いますが。 それから、filename= については、HTTP MIMEの Content-Disposition: ???; filename= ??? にマッチする正規表現の文字列の一部だと思うのですが。 |
質問者 katochan
[削除]
投稿日 3/27(木) 11:57:37
やまだ さん 有り難うございます。 >確かにin配列がmy|localで定義されていないですが、よく見ると適当に使われているのでglobal変数(mainクラス中)として 勝手に定義はされていると思いますが。 ヒントをいただいたお陰で理解できるカ所にたどり着きました。 cgi-lib.pl に書いてありました。 初めて、読んだのですが、画像ファイルの処理など書いてありまして、疑問のところが ほとんど解決?したようで、目から鱗です。 |
このページは終了したので返信(回答)は書きこめません
| Web裏技 |