• ベストアンサー

PHPでのアクセスカウンタ

PHP初めて3日目の初心者です。 よくネット上で落ちていたり、プロバイダが提供しているアクセスカウンタはPerlで作成されており、HTML内のIMGタグでリンクを貼る事により使用できますが、PHPでも同じ様なものは作成できるのでしょうか? 要はHTMLに組み込むのではなく、別々になっている形にしたいのです。(もちろんインクルードでもなく) ヒントや細かい情報でもいいので教えていただけると助かります。 よろしくお願いします。

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

  • ベストアンサー
  • hofuhofu
  • ベストアンサー率70% (336/476)
回答No.3

> IMGタグを使用しない方法はあるのでしょうか? 画像を結合しないでやる方法はいくつかあります。 とりあえず3つほど。 ・インラインフレーム(IFRAMEタグ)やOBJECTタグを使って、その中でCGIの結果を表示 http://pme.cool.ne.jp/download/counter/ CGIが使えるサーバーであればどこでもできますが、見た目はちょっと悪いですし、ブラウザによってはうまく表示されない可能性があります。 独立したhtmlソースを埋め込むこともできるので、表示の自由度は高いです。 ・必要な桁数だけIMGタグを使って(画像の結合をしない)、何桁目かを引数を使ってCGIに渡す http://www.kent-web.com/count/ecount.html CGIが使えるサーバーであればどこでもできますが、ソースを見られるとちょっと恥ずかしいかもw プログラムの段階でちょっと一手間必要になると思います。 ・SSIを使う http://www.kent-web.com/count/txcount.html 一番スマートです。 ユーザーからはCGIの存在自体見えません。 当然ですがサーバーがSSIに対応していないとできないです。 > 文字で行う場合、HTMLと同様で「Content-type: text/html」となるのでしょうか? htmlソースを返す場合はそうなりますし、単純なテキストであれば「Content-type: text/plane」となります。 http://www.kyoto-su.ac.jp/ccinfo/08_supports/08-mine_contenttype/

y_an
質問者

お礼

早速の回答ありがとうございます。 >インラインフレーム(IFRAMEタグ)やOBJECTタグを使って、その中でCGIの結果を表示 やっぱりインラインフレームですか^^; src属性のあるタグがインラインフレームとIMGしか思い浮かばなかったのでそれしかないのかな?と思ってはいたのですが。 Objectタグは知りませんでした。でも調べたところ画像系や特殊なものなので今回は使えない気がします。 > 必要な桁数だけIMGタグを使って(画像の結合をしない)、何桁目かを引数を使ってCGIに渡す これは良い手ですが、拡張性というか後で修正する可能性が高いので、今回は止めておきます。 でもすっごい参考になりました。 また、1つ目と2つ目はサンプルはPerlだったので使えませんでした。3つ目もPHPではないので使えませんでした。 ごめんなさい。 > 単純なテキストであれば「Content-type: text/plane」となります。 テキストでもいいんですね。なるほどです。 とりあえずインラインフレーム+PHP(text/html)にてがんばってみようと思います。 本当にありがとうございました。

その他の回答 (2)

  • hofuhofu
  • ベストアンサー率70% (336/476)
回答No.2

HTMLの場合は「Content-type: text/html」の後にソースを出力しますが、画像データの場合は「Content-type: image/gif」(gif画像の場合)の後に画像データを出力すればいいだけです。 書き方に違いはありますが、サーバーが対応している言語ならどれでもできるでしょうし、やり方は同じです。 http://game2.openspc2.org:8080/~openspc/file/003/ 問題はIMGタグを使うのであれば、画像を一つにまとめておく必要がありますが、これを手動でやるのは結構大変です。 flyというツールを使えば簡単にできますが、C言語で書かれているため、プロバイダなどが対応・許可してくれていないと使用できないです。 http://p4room.mda.or.jp/fly/ja/

y_an
質問者

お礼

ありがとうございました。 納得できました。

y_an
質問者

補足

>IMGタグを使うのであれば とあるのですが、IMGタグを使用しない方法はあるのでしょうか? 特に画像である理由はありません。 文字でも何でも簡単であれば良いです。 文字で行う場合、HTMLと同様で「Content-type: text/html」となるのでしょうか? また、HTML側に記述する場合はIMGタグではだめだと思うのですが、代わりに何を使えばよいのでしょうか? (PHPよりHTMLの質問っぽくてすいません^^;)

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

組み込んだ方が遥かに簡単だと思いますが・・・、 「PHP カウンタ 配布」でいくらかサンプルが見つかりますので、 そちらのサンプルを参考にしてはいかがでしょう。 画像で出力する部分がキモになると思いますので。