- 締切済み
htmlのupfileからとopen関数からのファイルの取得の違いについて
htmlのupfileを利用したファイル取得 <form action=\"$script\" method=\"POST\" enctype=\"multipart/form-data\"> <input type=file name=abc size=50> </form> と open関数を利用したファイル取得 open( INFILE, "<$ImgDir" ); binmode( INFILE ); read( INFILE, $abc, 10240000 ); close( INFILE ); の違いは何でしょうか? 上記2パターンで作成したファイルを同一のアップロードプログラムにかけたのですが、open関数を利用したものが認識されず、アップロードできないのです。 よろしくお願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- fu_u_ka_i
- ベストアンサー率51% (15/29)
回答No.1
WEBサーバとブラウザが、同一マシン上で動作させる前提でのお話でしょうか? htmlのtype=fileを使った機能は、ブラウザが動作するマシン上で、実ファイルを読み出し CGIがサーバ上のテンポラリを経由して受け取る考え方です。 open関数の方は.. perlスクリプトが動作するマシン上で、指定したファイルを読み出します。 つまり、CGIの場合、サーバ上で実ファイルを読み出すと言うことです。 ということで、サーバクライアントが別マシンであるなら、 普通にtype=fileを使ってアップロードしてください。