• ベストアンサー

ファイルのアップロードについて

ファイルのアップロードができるCGIはフリーのものなどがたくさんweb上で配布されていますよね。 それをダウンロードしてくればいいのですが、1からつくりたいのです。 ダウンロードしてきて中をみてみたりしたのですが、アップロード以外の機能のことなどがたくさん書かれすぎていて、 どこがアップロードに対してのコードなのかイマイチわかりませんでした。 以前もアップローダーをダウンロードしてきて自分で改造したのですが、それではやはり身につかないようなので、 今回は一からつくろう!と思ったわけなんですが。。 アップロードをするだけのコードを少し教えていただけませんでしょうか? たとえば $folder=******; $img=テキストボックスを使用して入力された画像の箇所 アップロードの実行 みたいな感じになれば多少なりともわかるような気がするのですが。 ・ファイルのサイズの制限 ・ファイルの種類の制限 等はなくて大丈夫です。

  • w-inty
  • お礼率72% (1169/1618)
  • Perl
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

いろいろあるようです。 ライブラリ不要 http://nais.to/~yto/tools/ssupload/ cgi-libを使うもの http://www.aimix.jp/cgi/acccgilibupfile.html CGI.pmを使うもの http://www.harukaze.net/~mishima/perl/module/upload_by_CGI_pm.html "Perl ファイルアップロード" で検索すると、アップロード部分だけのコードサンプルがあるページがいくつもヒットしますよ。

w-inty
質問者

お礼

回答ありがとうございます。 一番上のライブラリ不要のサイトへ行き、早速試してみました。 無事実行はできましたが、中のコードを見て、いきなりひっかかったので教えてください(>_<) use strict; use CGI; use CGI::Carp qw(fatalsToBrowser); use POSIX qw(strftime); この「use」はどういうことなのでしょうか? 普段こんなコードを見ないので… 「○○を使いますよ」という宣言みたいなものなのでしょうか?

w-inty
質問者

補足

すいません、useわかりました。 関数だったんですね。 モジュールを呼び出すとか…。 はじめてみました。 あと普段使わないmy関数なんかも出てきていました。 ところでこのuse関数を使わないでこのコードを書いた場合はどのようになりますでしょうか?

その他の回答 (1)

  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

CGIって言語はPerlでよいのでしょうか? cgi-libなどのモジュールは一切使わないという条件ですか?

w-inty
質問者

お礼

回答ありがとうございます。 はい、Perlで作成していますのでPerlでのコードを教えてください。 また、モジュール類は使うのに慣れていないので、できれば使わない方法がいいです。

w-inty
質問者

補足

別の質問文をたてましたので、そちらもみていただければ、と思います。 よろしくお願いします。

関連するQ&A

  • public_html外にアップロードできるアップローダー

    ファイル管理の関係上Web上には公開できないフォルダ(public_html外)にCGI又はPHPを使用しアップロードすることは可能でしょうか? 又、Web上で配布されているアップローダーなどを改造しアップロードすることは可能でしょうか? よろしくお願いいたします。

    • 締切済み
    • CGI
  • ファイルのアップロードについて

    はじめまして。CGIにperlを使用して、ブラウザからファイルのアップロードを実現させようとしています。 binmode ( STDIN ); read ( STDIN, $tBUF, $BUFSZ) のようにして読み込み、バイナリーモードで書き出しています。 画像系はうまくいくのですが、テキスト系をアップロードするして、アップロードしたものをFTPソフトでASCKIIモードでダウンロードすると、どの文字コードの場合でも、一行ごとに余計な改行がひとつはいってしまいます。 バイナリーモードだとうまくいきます。 FTPソフト NextFTP2.02 使用OS:windows2000 workstation サーバーのOS:SunOS 5.8 ちなみみにサーバーがRedhat5.0のときはうまくいきました。 こういった原因はが、さっぱりわかりません。誰か教えてください。

    • ベストアンサー
    • CGI
  • ファイルをアップロードするプログラム

    自分のWEBサイトにおきたいのですが、無料でファイルをアップロードする CGIなどのプログラムはありませんか? イメージとしては、よくある形式ですが、参照をクリックして、 ファイルを選択して、アップロードする奴です。 アップロードするファイルは、テキストなどもあるので、 アップロードしたファイルをクリックすると、見れる形だとよいです。 また、掲示板のCGIではなく、別物がよいです。

    • 締切済み
    • CGI
  • ファイルをアップロードするフリーのcgi

    お世話になります。 教えていただきたいのですが、 サイトの管理者がブラウザ上でファイルをアップロードできて サイトの訪問者がそれをブラウザ上でダウンロードできる そんなフリーのcgiを探しています。 http://www.kent-web.com/data/upload/upload.cgi こんなような感じのものです。 しかし上記のものは1ファイルあたりの容量制限がかけられています。 容量制限が5メガバイト以上のもの知っているかたいたら教えてください。

    • ベストアンサー
    • CGI
  • ファイルのアップロード Perl5.8

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

    • ベストアンサー
    • Perl
  • FFFTPでのアップロードについて

    FFFTPでのアップロードについてですが、会社からサーバーへアップロードしたファイル(CGIファイルを含む)を、自宅でダウンロードしサーバーにあらたにディレクトリーを設けてアップロードしようとすると、「FFFTPのページ違反です」と出てしまい強制終了になってしまいます。 画像やテキストはちゃんとアップロードできます。 考えられる原因を教えてください。よろしくお願いします。

  • cgiで動画ファイルをアップロードするには?

    みなさん、はじめまして。 私は今、HP製作中のおやじです。 昨日、フリーのCGIダウンロードしました。 このCGIは、PC上のJPG、GIFファイルを自動で連番.JPG,連番.GIFという具合に元のファイル名を連番にしてサーバーにアップロードしてくれる「日記帳的」CGIです。 *そこでチョット加工してWORD,EXCELファイルもアップロード出来る様にしました。 *ついでに動画ファイル(MPG,AVI,MOV)も アップロード出来る様にしたいのですが、どうしたらいいのか解かりません。この辺がもうおやじの限界です。 どなたか、ヘルプお願いいたします。 *ちなみにCGIソースはこうなっています。  これだけでわかるでしょうか? sub img { $type = ''; foreach (@in) { if ($_ =~ /Content-type:(.+)/i) { if ($1 =~ /image\/.*jpg/i) {$type = 'jpg';} elsif ($1 =~ /image\/gif/i) {$type = 'gif';} elsif ($1 =~ /msword/i) {$type = 'doc';} elsif ($1 =~ /ms-excel/i) {$type = 'xls';} elsif ($1 =~ /pdf/i) {$type = 'pdf';} last; } } if (!$type) {&error("このファイルはアップロードできません");} $img_file = "$_[0].$type"; open(OUT,">$img_file") || &error("画像ファイルを作成できません"); binmode OUT; print OUT $in{'img'}; close OUT; chmod (0666,$img_file); } ---------以上--------------------------------

    • ベストアンサー
    • CGI
  • ファイルアップロードCGIを教えて下さい。

    ・ファイルの容量制限がない(あっても解除できる) ・ファイルの転送で、今何%かの表示がでる。 上記の条件を満たすファイルアップロードCGIを教えて頂けないでしょうか?

    • 締切済み
    • CGI
  • アップロード後のファイルに改行が挿入される

    move_uploaded_file を使ってアップロードするコードを書いたのですが1つ問題があります。 テキストファイルをアップロードすると改行が入っている箇所に、新たに改行が1つ挿入されます。 上記問題を除いては、正常に動作しています。 (画像ファイルは見た目上、何の問題もなく、アップロードできます) move_uploaded_file の引数にはそれらしい部分がないので、php.iniあたりの設定かと思いますが、検索してもそれらしい情報を見つけることはできませんでした。 多分コードの書き方の問題ではないような感じですので、アップしませんが、問題の所在がコードにあるようならアップします。 ご教授の方よろしくお願いします。

    • ベストアンサー
    • PHP
  • ファイルのアップロード

    CGI初心者です。 http://nais.to/~yto/tools/ssupload/ NAIS.TOさんのサイトのファイルアップロードのソースを実際に試してみているのですが、 txtファイルやdatファイルはアップロード後開くことができるのですが、 pdfやxlsファイルは『ファイルが壊れています』と言われ、 フォルダに保存はされているのですが、開くことはできません。 html画面では文字コードがs-jisなのに cgiになるとISOになるのが原因だったりしますでしょうか。 ご回答宜しくお願いいたします。 環境 IE6 APACHE HTTP SERVER 2.0.58 ActivePerl 5.8.8

    • ベストアンサー
    • CGI

専門家に質問してみよう