CJ Club TOP/CGI Script/i-mode/J-Sky/PG Counter

PG Counter

i-mode/J-Sky自動判別カウンタ



■特徴とサンプル

  1. 機能はカウント機能のみ。カウント以外の情報は取得しない
  2. J-SkyにはPNG画像、i-modeその他にはGIF画像で出力する
  3. 日別にカウントを集計
  4. ログが一定のサイズを超えると古いものから削除
  5. オンラインから総カウント数を編集
  6. SSIでのカウンタ出力、カウンタアップも可能
  7. i-mode/J-Sky/その他のそれぞれのカウントも取得

    サンプル
    カウント集計ページ


■ダウンロード

まず次のファイルをダウンロードしてください。ダウンロードする場所は好きなところで結構です。

[pg.lzh(9KB/Vectorサーバ)]
cbbs.lzh
[pg.zip(9KB)]
cm.zip
[pg.lzh(9KB)]
cm.lzh
v0.4

ダウンロードが完了したら解凍してください。念のためこのページも保存することをオススメします。

このCGI はフリーですが規定通りに使ってください。
オリジナルスクリプトです。ということは、著作権欄を消さない限り再配布自由です。


■ファイル確認

解凍 したあと、以下のファイルがきちんとあるか確認してください。

■設定変更

最小限の設定変更の説明です。メモ帳などで「cm.cgi」のファイルを開いてください。

1行目

#!/usr/local/bin/perl

これを正しいパスに書きなおしてください。だいたいのサーバではこのままでOKです。


15行目

$lock= 1;

ファイルロック機構を使うか決めます。1=使う 0=使わない


17行目

$day = 30;

ログ取得日数を指定します。初期のままだと30日取得したら順に消えていきます。

■サーバに送る

基本設定ができたら、サーバに送りましょう。ここでは「public_html」の下に
[ pg ]というディレクトリを作ってそこに送るという仮定で説明します。

i-mode/j-sky/doti兼用カウンタとして使う場合、
[ pg ] というディレクトリの下に [ gif ] [ png ]というディレクトリを作りそこにそれぞれの数字画像をアップしてください。

[public_html]┐
             ├[pg]┐(ロック機構を使う場合[777or755])
             │    ├ pg.cgi    [755](メインCGI)
             │    ├ pg.log    [666](ログファイル)
             |    ├ [gif] - 0.gif / 1.gif /...../ 8.gif / 9.gif (i-mode他用画像)
             │    └ [png] - 0.png / 1.png /...../ 8.png / 9.png (J-Sky用画像)
             │
             └ index.html

[ ]内の数字は送るときのパーミッションです。
ファイル名 モード パーミッション
数字用画像(*.gif/*.png) バイナリーモード 特に無し
pg.cgi アスキー(テキスト) 755
pg.log アスキー(テキスト) 666


■テスト

アップできたらテストをしてみましょう!カウント集計一覧にアクセスします。

例:http://www.***.com/pg/pg.cgi?c

pg.cgi のあとに ?c とつけてアクセスします。

■カウンタを表示する準備

cm.cgi の
22〜25行目

$i[0] = "./gif";
$i[1] = "./png";

カウンタを呼び出すとJ-Skyの場合 $i[1] にあるPNG画像が、それ以外の場合 $i[0] にあるGIF画像が表示されます。
*http://〜のURLでの指定も可能です。

数字画像を用意します。
*JPEG画像は、使えません! 使えるのはGIF/PNG画像だけです。

以下の数字ファイルを用意してください。

数字に合った画像にしてくださいね。適当なのがない場合は、同封したものをお使い下さい。

■ログ取得とカウンタ表示方法


■総カウントを変更する

cm.log の1行目に以下のように書いてください。

0<>0<>カウント数<>0:0:0:0:<>

すると、総カウント数が途中からカウントされます。オンラインでも変更可能です。以下のように直接アクセスしてください。

例: http://www.***.com/pg/pg.cgi?カウント数+パスワード

+ は半角で入力してください。

■ J-Skyで画像が表示されない

J-PHONEの携帯にはいわゆる「ステーション対応機」と「ステーション非対応機」とがあります。
前者は最近の機種、後者は少し前の機種となります。<img> タグの中での CGI は対応機/非対応機で違いがあるようです.

ただし、CGI の拡張子を .png とすることで対応機/非対応機共に画像を表示することができるようにります。
これは J-Skyウェブ が Content-Type ではなく拡張子を見てファイルの種別を判別しているというイマイチな仕様なためです。
しかし、 .png という拡張子をCGIとして扱えるかどうかはサーバの設定によりますのでこれはどこでも使える方法というわけではありません。
したがって、画像が表示されるかどうかは以下のようになります。

古い機種にも対応するため、 .png をCGIとして扱えるならそれが一番ですが、それが無理な場合、
Location ヘッダで画像を指定する方法で CGI を書き、最近の機種でしか画像が表示できないことに我慢するしかないようです。
*)表示されなくてもカウントアップは正常に行われます。
有賀さんからの情報をほぼ引用させていただきました。ありがとうございますm(_ _)m)

■その他

わからない、設置できない、バグが出たなどの情報はサポート掲示板までお願いします。

@niftyでの設置方法をこたさんが紹介してくださってます。
http://homepage2.nifty.com/okataka/

更新履歴

00/11/29 v0.1-配布開始。
00/12/29 v0.2-J-Skyの不具合修正、ドットiのカウントも取得
01/02/02 v0.3-J-Skyに表示されるよう対応と注意、ダミー画像カウント機能追加、それぞれの機種別カウント数の表示
01/02/07 v0.4-i-modeで表示されないのを修正、SSIで引数を使わないよう変更

TOP