• ベストアンサー
  • 暇なときにでも

CGIファイルの送り方教えて下さい

はじめまして!超初心者です。 最近CGIを本を見ながら勉強しているんですが ファイルの送信の仕方が分かりません。やはり HTMLファイルとは送信の仕方が違うのでしょ うね?誰か教えて下さい。 (FTPソフトはFetchです。) ちなみに送りたいファイルは --------------------------------- #!/usr/local/bin/perl print "Content-type: text/html\n"; print "\n"; print "<HTML>\n"; print "<H1>Hello!</H1>\n"; print "</HTML>\n"; --------------------------------- です。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数93
  • ありがとう数13

みんなの回答

  • 回答No.2
  • yuji
  • ベストアンサー率37% (64/169)

送信した後にパーミッションを変更する必要があると思います。 Fetch なら「参考」で示している URL を見てください。 私は以前は Mac User でしたが、今は Windows User なので 今はFetch は使っていません。

参考URL:
http://homepage.nifty.com/cgi/index.html#no3

共感・感謝の気持ちを伝えよう!

質問者からの補足

ありがとうございます!わかりました でも、これがまためんどうくさいですね..... 次はカウンターに挑戦するつもりです。 また分からないことがあったらお願いします。

関連するQ&A

  • CGI勉強中(初心者です)

    #!/usr/bin/perl print "content-type:text/html\n\n"; print "<HTML>\n"; print "<head><title>CGI</title></head>\n"; print "<BODY>\n"; print "<H1><FONT COLOR=\"#FF0000\">こんにちは</FONT></H1>\n"; print "</BODY>\n"; print "</HTML>\n"; というCGIつくりました。 プロバイダの説明には Perlの場所 /usr/bin/perl または /usr/local/bin/perl となっていますが、 どこにどう置いて(ホームディレクトリでしょうか?)、どうやって起動させてよいのかさっぱりわかりません。 ご教授ください。

    • ベストアンサー
    • CGI
  • CGI設置時に500エラーになります

    CGIを設置しようとしたところ、500 Internal Server Error になります。 共用サーバーIDを使用しています。 CGIファイルは「cgi-bin」の中に入れています。 たとえばこんな簡単なCGIでテストしたのですが、500 Internal Server Errorになってしまいます。 ↓ #!/usr/local/bin/perl print "Content-type: text/html \n\n"; print "Hello"; #!/usr/local/bin/perlを #!/usr/bin/perlにしても結果は同じです。 (サーバーの指定は#!/usr/local/bin/perl) パーミッションは755にしています(705に変えてもダメでした)。 CGIファイルの改行コードはLFにしており、テキスト(ASCII)モードでアップロードしています。 それでも500 Internet Server Errorになります。 サーバーではエラーログが見られないのでみなさんにお聞きしたいのですが、他にどんな原因が考えられるでしょうか?

  • サクラのレンタルサーバーです。CGIが動きません

    サクラのレンタルサーバーを借りました。 早速CGIを試そうと思ったのですが、原因不明のInternal Server Errorが出ます。 cgi-binはいらないとのことですので、wwwにそのまま入れました。 index.htmlも同じ場所にありそれは出ますのでパス間違いではないです。 またパーミッションも777にしてみましたが駄目です。 #!/usr/local/bin/perl print "Content-Type: text/html\n"; print "\n"; print "<html>"; print "<body>"; print "abc"; print "</body>"; print "</html>"; こんな感じで、TELNETでログインして実行も出来ます。 bash-2.05b$ ./index.cgi Content-Type: text/html <html><body>abc</body></html>bash-2.05b$ いろいろ調べたのですが ◆パーミッション→OK ◆TELNETで実行してみる→OK ◆perlへのパスは?→/usr/local/bin と /usr/bin どちらでもいいそうです。験しに変えましたが状況変わらず。 何か気が付いたことがあれば教えてください

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

htmlファイルと同じ(ASCIIモード)で良いのですが、アップロードしたあとに Telnetを使ってパーミッションの変更をしないといけないんじゃないでしょうか? そのCGIの本にはアップロードのしかたとか書いてないですかね?

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • CGIのはじめのコ-ド

    #!/usr/local/bin/perl print "Content-type: text/html\n"; print "\n"; print "$doctype\n"; print "<HTML>\n"; print "<HEAD>\n"; 上記のCGIの4行目の print "$doctype\n"; は なにをしているのですか、宜しくお願いします。

    • ベストアンサー
    • CGI
  • HTMLからCGIへデータを引き継ぎ

    HTMLでメールフォームを作りCGI(Perl)で次のプログラムを作りました。 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "$mail\n"; print "$namae\n"; print "$naiyou\n"; 動作確認のためプログラムは少しにしました。何も表示されません。

    • ベストアンサー
    • Perl
  • HTMLのファイルにCGI処理結果を表示する

    まずトップページはhtmlで作ります。 そのトップページにいつも変化する所があるのでcgiで処理を施したものをhtmlに貼り付けたいと思っています。 その場合に例えば画像を出力させる場合は <IMG src="cgi-local/top.cgi"> で指定し、 #!/usr/local/bin/perl print "Content-type: image/jpeg\n\n"; open FH,"<../image.jpg"; binmode FH; binmode STDOUT; print while(<FH>); close FH; をやれば動かせますが、これを画像ではなくhtmlを表示させるためには print "Content-type: image/jpeg\n\n"; を print "Content-type: text/html\n\n"; に変更する事により可能だと思いやってみたのですが、うまく出力できませんでした。 cgi処理をうまくhtmlに貼り付ける方法があるのでしょうか。どうか教えて頂けないでしょうか?お願します。(涙)

    • ベストアンサー
    • CGI
  • CGIにおいて、エンコード・文字化けの対処方法

    以下のようにCGIを記述しております。(本日勉強したてで間違いだらけでしたら申し訳ございません。) ============= #!/usr/local/bin/perl print "Content-type: text/html; charset=EUC-JP\n"; print "\n"; print "<html>\n"; print "<title>Hello CGI</title>\n"; print "<body>\n"; print "<h1>Hello CGI!</h1>\n"; print "<hr>\n"; print qq( 上記のCGIファイルのメッセージは、次のように記述しました。<br><br> #!/usr/local/bin/perl<br><br> print "Content-type: text/html\\n";<br> print "\\n";<br> print "&lt;html&gt;\\n";<br> print "&lt;title&gt;Hello CGI&lt;/title&gt;\\n";<br> print "&lt;body&gt;\\n";<br> print "&lt;h1&gt;Hello CGI!&lt;/h1&gt;\\n";<br> print "&lt;/body&gt;";<br> print "&lt;/html&gt;";<br><br> ); print "</body>"; print "</html>"; =========== 以上をIE7で表示しますと、エンコードが西ヨーロッパ言語になって文字化けを起こしてしまいます。 何か記述の仕方が間違っているのでしょうか。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • Apacheでcgiができないんです。

    以下のホームページと同じように、設定したのですが。。。 http://www.futomi.com/lecture/apache/config.html 下のcgiは実行できます。 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD>\n"; print "<TITLE>Apache</TITLE>\n"; print "</HEAD>\n"; print "<BODY>\n"; print "<H2>Welcome to my computer, Apache Server!</H2>\n"; print "</BODY>\n"; print "</HTML>\n"; しかし、下のcgiは実行できません。htmlファイル、cgiファイル共に、あるホームページからコピペしたので、間違いないと思います。ここではhtmlファイルは書きませんが、以下のURLです。 http://www2j.biglobe.ne.jp/~apollo/server/apacuse.html #!/usr/local/bin/perl $countfile= "count.dat"; open(IN, "< $countfile"); $count = <IN>; close(IN); $count++; open(OUT,"> $countfile"); print OUT $count; close(OUT); print "Content-type: text/plain\n\n"; print $count;

    • ベストアンサー
    • CGI
  • CGIが動作しません。

    最近、Perlを初めたのですが、 CGIがうまく動作しません。 他のCGIは動作しているので CGIは動作する環境だと思います。 http://からフルパスでCGIを実行しても、 以下のエラーがでます。 -------------------------------------  500 InInternalServerError  サーバーエラーです。  以下の理由が考えられます。  パーミッション等の設定が  間違っている可能性があります。  サイト管理者にお問い合わせ下さい。 ------------------------------------- ちなみに以下のような簡単なCGIも同様です。 ===================================== #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<html><head>\n"; print "<meta http-equiv=Content-Type content=text/html; charset=x-sjis>\n"; print "<title>StartCGI</title></head>\n"; print "<body>\n"; print "<p align=center><font size=4>初めて書いたCGI</font></p>\n"; print "</body></html>\n"; exit; =====================================  なぜなんでしょう。 困ってます。 ご教授の程、宜しくお願い致します。

    • ベストアンサー
    • CGI
  • cgi-lib.plのオフラインでの使用

    cgiの勉強をしています、Foolisともうします。 タイトルの通り、cgi-plをオフラインで使用したいのですが、やり方がわかりません。 今、httpdを使用して、 http://127.0.0.1/hello.cgi にアクセスしたら、(hello.cgiは以下の通り) ______________________ #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML><BODY>\n"; print "<H2>Hello! WORLD</H2>\n"; print "</BODY></HTML>\n"; exit; _____________________________ ちゃんとHello! WORLDと表示します。 form.htmlおよび、form.cgiを http://www.try-net.or.jp/~tanukiti/hp-add/cgi_learning/kl_cgi_09.html ここのページのように入力し、ファイルを作成したのですが、上手く動きません。もし解決策をご存知の方がいましたらよろしくおねがいいたします。

    • ベストアンサー
    • Perl
  • 初歩的なCGIですが

    #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD><TITLE>perlテスト</TITLE></HEAD>\n"; print "<BODY>\n"; print "本文1<BR>\n"; print "本文2<BR>\n"; print "</BODY>\n"; print "</HTML>\n"; 上記プログラムをFTPサーバにアップロードして、perlプログラム内では正しい結果が出たのですが、ブラウザ上で確認したら、htmlのタグが除かれた状態のソースが出てきました。  正しい結果をブラウザ上で表示させるにはどうすればいいのでしょうか?教えてください。

    • ベストアンサー
    • CGI
  • CGIでファイルが読み込めない

    CGI初心者です。 (osはlinuxです。) #!/usr/local/bin/perl use strict; use CGI; my $file=new CGI; open(DATA,"/home/data.txt"); $file=<DATA>; close=(DATA); print "Content-type: text/html\n\n"; print "data=$file"; このスクリプトで、/home/data.txt(フルパスです)に書かれているデータを1行だけをブラウザで表示させたいのですが、表示できません。 どこがおかしいのか教えてください。 ちなみにdata.txtには実際に「abc」という文字1行しか入れていません。

    • 締切済み
    • CGI
  • cgi(perl)でパラメータが渡せない

    以下のプログラムでnum=9が伝わらないので、ミスをご指摘ください。 グラフィカルなアクセスカウンタを表示させようとしていますが うまくいかないのでテキストモードでデバッグしています。 [ /usr/local/apache2/htdocs/gif-view.html ] <html> <head> <meta http-equiv="Content-type:" content="text/html; charset=UTF-8"> <title>gif-view</title> </head> <body> <iframe src="/cgi-bin/gif-test.cgi?num=9"></iframe> <!-- <img src="/cgi-bin/gif-test.cgi?0" width=50 height=50> --> </body> </html> [ /usr/local/apache2/cgi-bin/gif-view.cgi ] permission は 755 にしています。 #!/usr/bin/perl print "Content-Type: text/plain;\n\n"; print "gif-test.cgi\n"; $prm0 = @ARGV[0]; if($prm0 = "") { print "Param is exist\n"; } else { print "Param is empty\n"; 実行結果として gif-test.cgi Param is empty となります。 httpd.conf で Script Alias /cgi-bin/ "/usr/local/apache2/cgi-bin/" を有効にしています。

    • ベストアンサー
    • Perl

専門家に質問してみよう