• ベストアンサー

CGI_lite.pmを使ったファイルのアップロード

jiri_tの回答

  • ベストアンサー
  • jiri_t
  • ベストアンサー率25% (1/4)
回答No.4

1普通にテキストエリアからテキストを読むようにする (多分これでとれたと思います) 2アップロードされたファイルから取得する (ディレクトリの中を検索。先代はこれでやっていました) 最悪2でできるのでやってみてください (ただしアクセスが多くなって処理し切れなくなると どうなるか、考えただけでぞっとしますが...) 多分一番でできますのでやってみてください っていうかソースプログラムにファイル名変換という気になる フレーズがあるのでそっちの方が確実かも知れませんね 後は正規表現との戦いです(笑)

Sadsfan
質問者

お礼

ありがとうございました。1でできました。2は使いたくないですね。恐ろしいです。

関連するQ&A

  • CGI::Liteでファイルのアップロード

    Perl5.8でCGI::Liteを使ってファイルのアップロードをするつもりですが、ファイル名が日本語の場合とファイルの中身が文字化けして保存されています。 文字コードはutf8で統一させているのですが、 例えば、テスト.txtというファイルで中身がEUC-JPのファイルをアップロードしてもアップロード先でファイル名が化けずに中身もEUC-JPで保存されるようにしたいのですが、どういう関数を施せば良いでしょうか? CGI::Liteに変わる他のモジュールでもあるのでしょうか?

    • ベストアンサー
    • Perl
  • [Perl] CGI_Lite.pmでファイル名取得できない

    CGI_Lite.pmを使用してファイルをアップロードするCGIを書いていますが、ファイル名によっては、名前の途中までが消えてしまいます。 cgiとhtmlは、以下のとおりです。EUC、Shif-JISの両方で、また、LinuxとWindowsXPの両方で試してみました。 例 「可能性.txt」というファイルをアップすると、 「性.txt」というファイル名になります。 環境: CGI_Lite.pmは、2つのバージョンを試してみました。 (1), CGI_Lite 2.02 http://search.cpan.org/~smylers/CGI-Lite-2.02/Lite.pm (2), CGI_Lite 1.8 http://search.cpan.org/dist/CGI_Lite/ OSなど (1), WindowsXP + AnHTTPd + Perl5.8.8 (2), SuSE Linux + Apache2.0 + Perl5.8.3 ■アップするHTML <html> <form action='test.cgi' ENCTYPE='multipart/form-data' method='post'> <input type="file" name="file1"> <input type="submit"> </form> </html> ■アップされるCGI(test.cgi) #!/usr/bin/perl use CGI::Lite; my $cgi=new CGI::Lite; $cgi->add_timestamp(0); $cgi->set_directory('./') or die $!; $cgi->set_platform ('Unix'); $cgi->set_buffer_size (10000); my %in = $cgi->parse_form_data(); print"Content-type: text/html\n\n"; print"-->$in{'file1'}\n"; 以上、よろしくお願いします。

    • 締切済み
    • CGI
  • CGI_Lite.pmは,Perl6.5.1 で使えますか?

     私は初心者です。本を見ながら付属CDに入っていた掲示板セットをアップロードしましたが正常に動作しませんでした。いろいろ試行錯誤をした結果、どうやら「CGI_Lite.pm」というものが原因らしく、それはPerlのバージョン4では使えないということまでは知りました。  私のアップロードしているレンタルサーバのバージョンは6.5.1ですが、「CGI_Lite.pm」は機能しないのでしょうか?初心者故に的外れな質問かもしれませんが、どうか宜しくお願い致します。

    • ベストアンサー
    • Perl
  • CGI_Lite.pmをしようしてデータをアップロード

    CGI Lite v1.8 Last modified: May 10, 1997 下記メッセージがででサーバーにデータをアップロードできいません。 意味がわからないので教えてください。サンプルプログラムは書籍より入手したそのままをしようしているのですが。 Oh, Oh! I'm upset! Can't read what I want また、CSVデータをサーバーにアップロードしたいCGIを作成したいのですが、他になにかわかりやすいサンプル等あれば教えていただけないでしょうか?

    • ベストアンサー
    • Perl
  • cgiでファイルをアップロードし、メールに添付したい。

    ファイルをアップロードし、sendmailで添付ファイルとして送信したいと思い、サイトを回っているのですが、いまいちファイルアップロードについてわかりません。 確認画面を表示させるため、ファイルを一時的にサーバに保持させるため、アップロードのやり方を調べていたのですが・・・さっぱりよくわからなく・・・。 cgi-lib、CGI.pmを使えば、アップロードができると知ったのですが、詳しく書かれているところが見つからずちんぷんかんぷんで困っています。 もし、詳しい事を書いているサイトなどがありましたら、教えていただけないでしょうか? 今のところ、cgi-libを使用してアップロードを考えています。 これってむずかしいのでしょうか???

    • 締切済み
    • CGI
  • ファイルのアップロード Perl5.8

    ファイルのアップロードでCGI::Liteを使っています。 PerlはActivePerlのバージョン5.8ですが アップロード先のデータの中身が変わってしまい、 画像データなのに別のファイルになって表示されなくなりました。 これはファイル自体の文字コード変換が絡んでいるということですか? また、CGIとCGI::Liteの違いですが、両方使ってもよいのでしょうか?

    • ベストアンサー
    • Perl
  • CGIで日本語名ファイルのアップロード

    日本語名のファイルをアップロードするCGIを教えて下さい。 下記ページを参考にさせていただいて、半角のファイル名はアップロードできております。 http://www.harukaze.net/~mishima/perl/module/upload_by_CGI_pm.html よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • cgi.pmでファイルアップ炉ロードします。ファイルが存在しないときは・・・

    HTMLで <input type="file"...> として、参照ボタンを押すとファイルアップロードができるようにし cgi.pmを使って、webサーバに画像をアップロード掲示板をいま使っているのですが、参照ボタンを押さずにinput type=fileのテキストボックスにでたらめの単語を入れても、送信が出来てしまいます。ゼロバイトのファイルがサーバにできるわけですが・・・ このようなことを対処するにはどうすればいいのですか? でたらめなファイルメイだったら-1を返すなどといったような使い方をcgi.pmでできますか? もしよろしければ、回答よろしくお願いします。

    • ベストアンサー
    • Perl
  • CGI のモジュールをつかってファイルのアップロード

    use CGI qw(:standard); use File::Basename; $upimg1_pm = param('upimg1'); while (read($upimg1_pm, $buffer, 2048)) { $file .= $buffer; } $FileName = basename($upimg1_pm, ""); open UP,"> $img_dir/$FileName"; binmode UP; print UP $file; close UP; 上のようにファイルのアップロードのプログラムを書いたのですが、実際アップロードしたら C:\Documents and Settings\~top.gif のようにWindowsのローカルパスがそのままファイル名としてアップロードされてしまいました。 basenameはファイル名をとるモジュールときいていたのですがなぜこうなるのでしょうか? おそれいりますがご教授おねがいします。 もしかしてFile::Basename;のモジュールがないとか・・・ Perl5です。

    • ベストアンサー
    • CGI
  • ロリポップでのCGIファイルの使用について

    ホームページ作成ソフトで、携帯用サイトを作りサーバーにアップロードしたのですが、 ブラウザで確認するとエラー403がでてしまいます。 ソフトのユーザーサポートに問い合わせたところ、プログラムには問題がないので、 サーバーとCGIの関係で問題があるのではとの事でした。 エラー表示の注記に <CGIを利用の場合は「index.cgi」 の名前のファイルが無い場合、エラーが発生いたしますのでご注意ください。> とあったので、 試しにcgiのファイル名に「index.cgi」と入れてみたのですが、同じエラーが表示されてしまいました。 この場合、うまくブラウザに反映させるにはどのようにすれば良いのでしょうか。 利用環境・状況は次の通りですので、よろしくお願いいたします。 ■OS windowsXP ■ブラウザ IE ■アップロードしたファイル 「htmlファイル1つ」と「cgiファイル1つ」 ちなみに、htmlファイル単体ではブラウザに表示されるようです。