アクセスカウンター S-COUNTER
特徴、機能
- シンプルで高速なアクセス・カウンター
- 累計、昨日、今日、一定時間内、を計測
- テキスト、画像(非連結)、一枚画像の3つの表示モード搭載
- カウンター掲載側から桁数と表示モードの変更が可能
- 一定時間内の連続アクセスカウント防止機能
- 巡回クローラのカウント防止機能
- 累計のキリ番メッセージ表示機能
- 耐久性のあるファイルロック機能
- アクセス統計機能搭載
- 便利な携帯判別関数を搭載
サンプル
| 累計 | 昨日 | 今日 | 閲覧中 |
|---|---|---|---|
ダウンロード
必ず利用規約を読んで、同意の上でダウンロードして下さい。scounter.lzh
内容、構成
your_root / index.php (トップページ)
│
└─── scounter [701] / scounter.php
│ scounter.html
│ report.php
│ report.html
│ common.css
│ sprite.css
│
├────── data [707] データディレクトリ
│
└────── gif [701] 画像ディレクトリ (任意)
使用方法
- ダウンロードしたファイルを解凍する。
- scounter.phpをメモ帳などで設定をする。
- ページにカウンターを埋め込む。
- 転送してdataディレクトリのパーミッションを変更する。
- カウンター掲載ページへアクセス。
カウンターの埋め込み方
このカウンターはPHP製ですので、埋め込むページがPHPファイルでなければいけません。HTMLファイルでも、拡張子を.phpに変えると使えるかもしれません。
まず、カウンタースクリプトを読み込んで下さい。アクセスすると$sc変数が生成されてカウントされます。内蔵の携帯判別関数を使えば、携帯の処理を分岐させる事もできます。PCと携帯で異なる表示モードを利用できます。
PHP
- require_once './scounter/scounter.php';
- if ($sc->isMobile()) {
- // 携帯用の画面を出力
- } else {
- // パソコン用の画面を出力
- }
最後に、データを引っ張ってきます。
各カウントは桁数指定でき、それに満たない場合は左側に0が補われます。
(桁数を指定しなかった場合や、指定桁数を超えた場合は整形されません。)
3桁毎のカンマ区切りにしたい場合は桁数の次に1を与えて下さい。
[例:7桁カンマ区切り] total(7, 1) => 1.234.567
PHP
- 累計のカウントは<?php echo $sc->total(桁数); ?>
- 昨日のカウントは<?php echo $sc->yesterday(桁数); ?>
- 今日のカウントは<?php echo $sc->today(桁数); ?>
- 閲覧中のカウントは<?php echo $sc->online(桁数); ?>
- キリ番の時だけ表示されるメッセージ<?php echo $sc->just(); ?>
画像モード
画像モードの場合は、0.gif~9.gifとカンマのc.gifを用意して下さい。
画像のディレクトリも設定します。(デフォルトは./scounter/gif/)
表示前にディレクトリを変更すれば、合計と今日のカウントを別々の画像にする事もできます。
PHP
- // 画像モードにする
- $sc->setMode('image');
- // 画像ディレクトリを設定
- $sc->setImgDir('/images');
スプライトモード(一枚画像モード)
このモードは、画像ファイルを一枚だけ使うので、桁数分の画像リクエストが発生せず、表示速度も上がります。ただし事前に手間がかかるので、サーバの負荷を極力減らしたいヘビーユーザー向けの機能です。
PHP
- // スプライトモードにする
- $sc->setMode('sprite');
一枚の画像を使って、各桁をspan要素の背景で表現します。例えば32は以下の様に出力されます。
HTML
- <span class="d3"> </span><span class="d2"> </span>
まず、10桁がまとまった1枚画像(0~9の横並びが良いでしょう)を用意し、各桁の位置と幅をCSSで指定します。カンマ区切りにする場合はカンマ画像も追加します。以下の参考CSSを同梱しておりますので、読み込むページに合わせて文字コードを変換してお使い下さい。
CSS
- /* 一枚画像モード用CSS */
- #counter {
- }
- /* 背景や幅を設定する為にブロック化して桁を並べる */
- #counter span {
- display: block;
- float: left;
- }
- /* 累計、昨日、今日、閲覧中の桁要素を包む要素 */
- #counter span.wrapper {
- margin-right: 8px;
- }
- /* 桁要素に画像背景を設定 */
- #counter span span {
- background: url(/scounter/gif/sprite.gif);
- background-repeat: no-repeat;
- }
- /* 画像背景の位置と幅を調節 .dcはカンマ */
- #counter .d0{background-position: 0px 0px; width: 7px;}
- #counter .d1{background-position: -10px 0px; width: 4px;}
- #counter .d2{background-position: -20px 0px; width: 7px;}
- #counter .d3{background-position: -30px 0px; width: 7px;}
- #counter .d4{background-position: -40px 0px; width: 7px;}
- #counter .d5{background-position: -50px 0px; width: 7px;}
- #counter .d6{background-position: -60px 0px; width: 7px;}
- #counter .d7{background-position: -70px 0px; width: 6px;}
- #counter .d8{background-position: -80px 0px; width: 7px;}
- #counter .d9{background-position: -90px 0px; width: 7px;}
- #counter .dc{background-position: -100px 0px; width: 4px;}
例えば以下の様に埋め込んだ場合は、その下の様に出力されます。
PHP
- <p id="counter">
- <?php echo $sc->total(2); ?>
- <?php echo $sc->today(2); ?>
- </p>
HTML
- <p id="counter">
- <span class="wrapper" title="total">
- <span class="d8"> </span><span class="d5"> </span>
- </span>
- <span class="wrapper" title="today">
- <span class="d2"> </span><span class="d3"> </span>
- </span>
- </p>
更新履歴
| 2009/10/22 | データ破損時に処理が中断してしまう問題を解消、携帯判別にiPhoneとAndroid追加 |
| 2009/08/11 | 処理速度向上、カウンター値確認画面追加 |
| 2009/05/28 | 携帯判別関数追加 |
| 2009/05/27 | 設定値や関数をclassで隠蔽 |
| 2009/05/23 | スプライトモードのカンマ区切りに対応 |
| 2008/10/02 | 統計画面に月別アクセス数を表示 |
| 2008/08/23 | 表示モード設定削除 |
| 2008/03/10 | 大晦日のデータを翌年のレポートファイルに記録してしまうバグ修正 |
| 2008/02/16 | 簡単な統計レポート表示追加 |
| 2007/10/17 | スプライトモード追加 |
| 2007/09/23 | ファイルロックを更に強化 |
| 2007/09/19 | ファイルロックを修正 |
| 2007/05/20 | ロボットのカウント除外設定追加 |
| 2006/11/26 | キリ番機能、一定時間内計測、などの変更と追加 |
| 2005/08/01 | リリース |







