• ベストアンサー

PHPでのアクセスカウンタ

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

  • y_an
  • お礼率77% (67/87)
  • PHP
  • 回答数3
  • ありがとう数4

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

  • ベストアンサー
  • 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 カウンタ 配布」でいくらかサンプルが見つかりますので、 そちらのサンプルを参考にしてはいかがでしょう。 画像で出力する部分がキモになると思いますので。

関連するQ&A

  • アクセスカウンタがうまく動作しない。

    自作cgiでアクセスカウンタを作成しました。 作成当初はcgi呼び出しとしてSSIの<!--#include virtual="~counter.cgi" -->を使用してそのときは何の問題もなかったのですが、サーバーの都合でSSIをとりやめて<IMG>タグを使用せざるを得なくなってしまいました。 やむを得なくHTML側のSSIの部分をそのまま<IMG="~">に書き直したのですが、これがうまく動きません。 具体的にいいますと、カウンタの値はページには反映させたくないので透過gifをよみこませることにして、HTML内のカウンタの<IMG>タグは一つだけにしてあります。その結果が、訪問一回めとブラウザの更新をしたときだけにしかカウンタが動きません。ブラウザのキャッシュに関係しているのかもしれないと思い、<meta>タグにキャッシュしないように入れてみたのですが、結果が変わりません。 動作環境はwin98 IE5.5とmac9.2 IE5.2で確認しています。 おわかりの方ご教授よろしくお願いします。

    • 締切済み
    • CGI
  • アクセスカウンタを付けたいと思います

    ワードでHPを作成して、WEB上にアップロードをするところまでは 出来ましたが、アクセスカウンタを付けたいと思います。 HP作成のHPからアクセスカウンターのタグをHTMLにコピーし、 WEBアカウントを書き換えてアップロードしましたが、うまく表示で きません。 コピーしたタグの内容が画面上に表示されてしまいます。 どのような原因が考えられるのでしょうか?

  • アクセスカウンタについて

    現在、ホームページをもっていて、アクセスカウンタをつけようと思っています。そこでレンタルアクセスカウンタを申し込んでタグが送られてきました。そこのページには「カウンタを設置したいところにこのタグを埋め込んでください。」とかいてありました。と、言われたとおりHTMLにそのタグを埋め込んだのですが、動作しません。他のところでも頼んでみたけど、だめでした。どのようなところにタグは埋め込むのが正しいのですか。おしえてください。よろしくお願いします。

  • アクセスカウンタ

    プロバイダのホームページサービスのアクセスカウンタ設置で、 アクセスカウンタを作成し、タグをテキストファイルとして保存。 これだけを表示できるかどうか、 http://(自分のURL)/アクセスカウンタ名 試してみますが、表示できません アクセスカウンタの名前も指定通り半角小文字で作成し、 URLの欄にもその通り入れてみました なぜ、表示できないのでしょうか?

  • カウンター

    CGI(Perl)を勉強中の初心者です。 自作のグラフィックカウンターのCGIをHTMLに貼り付けると、 カウンターは表示されるのですが、 HTMLでカウンターより下に配置してある画像が表示されません。(テキストはOK) CGIを貼るタグは<IMG src=".......cgi>としてあるのですが、 調べてみたところ、このタグ内でwidthとheightの属性を設定しないと このタグ以下のHTMLが表示されないことがあるとのことで、 属性も設定したのですが、やはり表示されません。 CGIスクリプトそのものに問題があるのでしょうか。 よろしくお願いいたします。

    • 締切済み
    • CGI
  • PHPによるアクセスカウンタのサンプルの改造

    このサイトにあるアクセスカウンタのサンプルをお借りして、 http://www.web-jozu.com/php/counter_s.html 画像を使わず、よりシンプルなテキストカウンタを設置したいのですが、 上記ページにある、下記の記述の<img>タグを何とかすれば よさそうにも思いますが、どのように書き換えたらよいでしょうか? <script language="JavaScript" type="text/javascript"> <!-- //桁数を入力 posNum = 7; document.write('<img src="cts/counter_s.php?pos=0" width="0" height="0">'); for(i=posNum; i>0; i--){ document.write('<img src="cts/counter_s.php?pos=' + i + '">'); } --> </script> #念のため。サイトの利用規定に「Scriptの改造や再配布はご自由にしていただいて構いません」という断りを確認のうえで質問させていただきます。

    • ベストアンサー
    • PHP
  • phpで簡単アクセスカウンタ作成

    phpで簡単なアクセスカウンタってできますか? できれば日ごとに解析できるように作成したいのですが…

    • 締切済み
    • PHP
  • アクセスカウンター再読み込みについて

    最近自分のHPを作りました。 CGIが使えない為、プロバイダーが提供しているカウンターを設置しました。 しかし更新(F5)をするたびにカウンターがどんどんカウントアップされて しまいます。 プロバイダーに問い合わせても「気になるようでしたら、手動で戻してください」 との事でした。 友人にその事を話したところ「更新してもカウントアップしないようにするタグ かJavaScriptがある」という事を聞きました。 しかしやり方までは知りませんでした。 どなたか更新してもアクセスカウンターがカウントアップしないいい方法 知らないでしょうか? ちなみに他で提供している無料カウンターを使う事は特に考えていません。

    • ベストアンサー
    • HTML
  • 「アクセスカウンタ」について。

    「VALUESTAR」に付属していた、ホームページ作成ソフト「ホームページミックス」(ジャストシステム社)で、ホームページをつくりました。「アクセスカウンター」をつけたいのですが、プロバイダが「@ニフティ」で、説明するのが難しいのですが、とにかく「@ニフティ」で提供されている「アクセスカウンタ」は、使用できないらしいことが分かりました(ひょっとすると、私の認識の違いかもしれませんが)。他の「無料カウンター」のサイトを見て、試して見ましたが、難しい用語ばかり出てきて、結局、いまだ「アクセスカウンタ」を付けられない状態です。同じような質問を「教えてgoo」で探しましたが、回答者のかたのレベルが高いのか?まるで「ちんぷんかんぷん」状態です。できるだけ、噛み砕いた説明で、何とか「私」に「アクセスカウンタ」の付け方を教えていただきたいのですが・・・・。よろしくお願いします。

  • アクセスカウンタ設置について

    http://www.kent-web.com/count/dream.html KENTWEBさんのカウンタを使いたいんですが設置方法に躓いています。本来kentwebさんにメールすればいい話なのでしょうがここで質問させてください。すみません。 {質問内容} 1)上記url記載の #!/usr/local/bin/perl (プロバイダで定められたPerlへのパスを指定します) この意味がわかりません。ドメインは自分で取得していますがプロバイダとはネットのプロバイダでしょうか?ocnなのですがocnで定められてるものなんでしょうか。 2)アップロードのやり方ですが「cgi-bin」というディレクトリにたとえばこのアクセスカウンタの場合だとecount.cgiとecount.datというのをアップするんでしょうか。 3)このアクセスカウンタの場合だと0.gifなどの画像はどのcgi-binのなかのimgにアップするんでしょうか。 すみませんかどなたかお願いします!

    • ベストアンサー
    • CGI

専門家に質問してみよう