シンプルかうんた


■ 機能
アクセス毎に、CGI(Perl)でJavaScript外部ファイルを書き出して、そのファイルを基にHTML上にカウント文字を表示する、とてもシンプルなテキストカウンタです。このCGIスクリプト一つで、合計100ページにカウンタを設置できます。同じIPによる重複カウントを防止する機能もあります。(※ご利用前に「利用規約」をご確認ください)

■ サンプル
カウンタを設置したサンプルページです。サンプル1 2 3 4 5 6

■ ダウンロード
以下をダウンロードした後、圧縮・解凍ソフトで解凍してください。
(7KB)

■ 同梱ファイル
readme.htm - 利用方法を説明したファイル
txtcnt.cgi - CGIスクリプトファイル
lockfile - ロック状態を判断するためのファイル
txtcnt.js - JavaScript外部ファイル
txtcnt1.htm - カウンタを設置したサンプルページ

■ 注意事項
1. 「シンプルかうんた」は、カウンタを設置するページ数が増えても、それに伴って処理内容が増える(重くなる)ことはないので、まず1ページだけにカウンタを設置してみて、問題なければ、100ページに設置しても、基本的に問題はないと思います。

2. txtcnt.js ファイルの、1行目と2行目の、//:は絶対消さないでください。カウンタが動かなくなります。4行目以下は消してしまっても動きます。だから、もし txtcnt.js ファイルが壊れたりしたら、メモ帳で、1行目は一番左に//、一番右に[CountData]、そのあいだに、0:を交互に100個ずつ書きます。2行目も一番左に//、一番右に[IpData]、そのあいだに、今度は:ばかり100個書いて、ファイル名を txtcnt.js にして保存すれば大丈夫です。ちなみに、1行目は、1ページから100ページまでのカウンタ値、2行目は、1ページから100ページまでのIPアドレス値です。
//103:47:21:24:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0・・・・0:0:0:0:0:0:0:0:0:0:[CountData]
//122.133.13.158:122.133.13.158:122.133.13.158:122.133.13.158::::::::::::::::::・・・・::::::::::::::::[IpData]

function count_hyoji(pageNum)
{
   switch(pageNum){
      case  1:
         count_str = 103;
         break;
      case  2:
         count_str = 47;
         break;

          :
          :
          :
          :

      case 100:
         count_str = 0;
         break;
      default  :
         count_str = "Error";
   }

   document.write(count_str);
}

■ 設置方法
1. txtcnt.cgi を、メモ帳などのテキストエディタで開き、★印の項目を説明に従って変更してください。

2. txtcnt.js は、解凍した直後なら、カウンタ値はすべて0で、IPアドレス値もすべて何も入ってない状態なので、変更する必要ありません。ただカウンタの初期値を変えたい方だけ変更してください。1行目がカウンタの初期値です。左から順に、コロンをあいだにはさんで、1ページから100ページまでのカウンタ値が設定できます。

3. lockfile という名前のファイルは何も変更しないでください。

4. まず下記のファイルをサーバーに転送してください。
ファイル パーミッション
txtcnt.cgi 755
txtcnt.js 変更不要

5. 次に、4.でファイル転送したディレクトリの下に、lockdir という名前のディレクトリを作り、そこに lockfile という名前のファイルを転送してください。
ディレクトリ パーミッション
lockdir 変更不要
ファイル パーミッション
lockfile 変更不要

<ディレクトリ構成例>

public_html
  |
  +--txtcnt
      |
      +--txtcnt1.htm [644] カウンタを設置したサンプルページ
      |
      +--txtcnt.cgi [755] CGIスクリプトファイル
      +--txtcnt.js [644] JavaScript外部ファイル
      │
      +--lockdir [755] ファイルロック用ディレクトリ
          |
          +--lockfile [644] ロック状態を判断するためのファイル

6. カウンタを付けたいページに、赤の(1)(2)(3)の記述を必ず追加してください。ただし(1)(2)のファイルパス(srcを指定する部分)は、カウンタを付けたいページがある場所によって変わります。青の(4)の記述は書いておくと親切かも。(2)page=1と、(3)count_hyoji(1);の、1の数字は必ず同じにしてください。同じように、別のカウンタ設置ページでは page=2count_hyoji(2);、さらに別のページでは page=3count_hyoji(3);、というふうに割り当てていきます。
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE>サンプル1(page=1)</TITLE>
<script language="JavaScript" src="txtcnt.js"></script>           ←(1)
</HEAD>
<BODY bgcolor="#ffffcc">
<CENTER><FONT color="#9c5a3c" size="+2">サンプル1(page=1)</FONT><BR>
<IMG src="txtcnt.cgi?page=1" height="1" width="1"><BR>               ←(2)
<BR>
<BR>
これはサンプルなので、重複カウント防止モードにはなっていません。<BR>
ブラウザの更新ボタンを押すたびに、1つずつカウントアップします。<BR>
<BR>
<BR>
あなたは<script type="text/javascript">
<!-- //
count_hyoji(1);                        ←(3)
// -->
</script>
<noscript><FONT color="#ff0000">Error</FONT></noscript>人めのお客さまです。<BR>
<BR>
<BR>                                   ↑(4)
カウント文字が他のテキスト文字と同化している</CENTER>
</BODY>
</HTML>

7. カウンタを設置して初めてそのページにアクセスしたときは、そのアクセスでJavaScript外部ファイルが新しく作られるので、その時点ではカウンタは正しく動きません。その後、もう一度アクセス(または更新ボタンをクリック)してみると、そのとき初めて、(前回アクセスしたときに)新しく作られたJavaScript外部ファイルが、HTMLファイルに読み込まれるので、それ以降は、カウンタは正しく動き始めます。

■ 更新履歴
・Ver1.2 - 重複カウント防止モードにおけるファイルロックの解除忘れを修正(2008/04/08)
・Ver1.1 - ファイルロック処理を追加(2008/03/26)
・Ver1.0 - 新規作成(2008/03/17)


BACK