• ベストアンサー

htmlから、ファイル、もしくはCGI実行結果を表示

htmlのページを開いたときに、部分的にCGIの実行結果、もしくはファイルの中身を表示することは出来ないでしょうか。「インラインフレームを設けて・・・」という意味ではなく、たとえばページを開くごとにある行の数字だけ数字が増えていく、といったカウンターのようなことが出来るようにしたい。 そういうCGIスクリプトを作っているので、CGIをまったく使わないというのは無しで、またSSIは使わないこと前提でお願いします。

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

  • ベストアンサー
  • mrumesuke
  • ベストアンサー率45% (254/557)
回答No.5

>SSIを使わないテキストカウンタをつくりたい なるほど、そういうことでしたか。 ><script type="text/javascript" src="****/count.cgi?***=***"></script> >という風にHTMLに組み込んであります。 >こうすることでCGIは動いてくれるものなのでしょうか。 CGI側に一工夫必要です。 Content-Typeをapplication/x-javascriptとします。 詳しくは参考URLをご覧下さい。 私の環境(Win2k+Apache2)ではContent-Type:text/plainでも動くようですが。

参考URL:
http://allabout.co.jp/computer/javascript/closeup/CU20030625/#2
arcsin
質問者

お礼

ありがとうございます。 お礼遅れてしまいました。 無事作ることが出来ました^^

その他の回答 (5)

  • JF1Msf
  • ベストアンサー率20% (18/88)
回答No.6

No.3です。 $count_file = "counter.txt"; open(CNT_FILE, "$count_file"); $count = <CNT_FILE>; chomp($count); close(CNT_FILE); として$countにカウンタを取得し、 あなたは$count番目だよ!と出力すれば、 テキストのカウンターが作れると思うんですが... もちろん、この後に$countをインクリメントして、counter.txtファイルに出力しておいてください。

arcsin
質問者

お礼

ありがとうございます。 お礼遅れてしまいました。 いえ、これではページ全体がcgiによる出力になってしまいますよね。他の方にも使ってもらえるようなテキストカウンタを配布したいので、これではちょっと無理なんです・・・^^; でも無事解決しましたので、またよろしくおねがいします。

  • the845t
  • ベストアンサー率33% (246/743)
回答No.4

><script type="text/javascript" src="****/count.cgi?***=***"></script> >という風にHTMLに組み込んであります。 >こうすることでCGIは動いてくれるものなのでしょうか。 あ、そういう方法もありましたね。 動くと思いますよ。 実際やってみるのが一番でしょう。

arcsin
質問者

お礼

ありがとうございます。 お礼遅れてしまいました。 ぶじ作ることが出来ました^^

  • JF1Msf
  • ベストアンサー率20% (18/88)
回答No.3

まず、例えばindex.htmlという名前のhtmlファイルを用意します。 <html> <head> <title></title> <meta HTTP-EQUIV="Refresh" CONTENT="0;URL=http://www.****.**.jp/cgi-bin/output_html_file.cgi"> </head> <body> </body> </html> 次に、例えばoutput_html_file.cgiというような名のスクリプトをPerlで書いて、HTMLファイルを出力し、いかにもindex.htmlに書かれているかのように見せることができるでしょう。多くの部分はprintなどでそのままベタに出力し、カウンターの部分だけ工夫すれば、簡単にできると思います。

arcsin
質問者

お礼

ありがとうございます。 それは結局はCGIでカウントする部分以外も出力するという形になるんですよね? もしそうだったら、それは避けたいです。 テキストカウンタを作りたいと思っているので^^;

  • mrumesuke
  • ベストアンサー率45% (254/557)
回答No.2

CGIでHTML文書を動的に出力すればいいと思うのですが、それではだめなのでしょうか?

arcsin
質問者

お礼

ありがとうございます。SSIを使わないテキストカウンタをつくりたいので、それは避けたいです^^;

  • the845t
  • ベストアンサー率33% (246/743)
回答No.1

HTMLファイルでSSIを使わずCGIを実行できないので無理でしょう。 拡張子がhtmlというのであれば、.htaccessを弄ってhtmlという拡張子のCGIファイルであれば可能でしょう。 他にカウント部分をJavaScriptで吐き出すようにすれば、 それも可能かと。 CGIで.jsファイルにカウントを記入するとか。 もっとも<img>なり<iframe>なりでそのCGIを呼び出す必要があります。

arcsin
質問者

お礼

実を言うと、SSIを使わないテキストカウンタをつくろうと思っているんです。 他のテキストカウンタを参考にしたところ、カウントの表示部分(呼び出し)にjavascriptを使っていましたが、原理がイマイチわかりませんでしたが、 <script type="text/javascript" src="****/count.cgi?***=***"></script> という風にHTMLに組み込んであります。 こうすることでCGIは動いてくれるものなのでしょうか。

関連するQ&A