設置したPC用のWebページのPVとUU程度が分かる機能の少ない、無料の広告やアクセスカウンターなどが一切表示されない、PHP(+Mysql)で動く自分で設置する形のアクセス解析ツールをご存じの方教えてください。

繰り返しますが、機能が少ないアクセス解析ツールです。
よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/07/13 16:11:28
  • 終了:2008/07/18 10:20:02

回答(1件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/07/13 18:33:10

ポイント60pt

前の質問でb-windさんが回答しているとおり、それほど単純な解析ですと、「多分サービスとしてはほとんどやってないかと」思います。


試作版ですが、こんな感じでしょうか――PHP 4.x/5.x で動きます。

<?php
$pathCPV = './cpv/';        //コンテンツ別PV数格納パス
$pathUPV = './upv/';        //リモートアクセス別PV数格納パス

function finc($fname) {
    if (! file_exists($fname)) {
        $fp = @fopen($fname, 'w');
        flock($fp, LOCK_EX);
        fwrite($fp, 0);
        flock($fp, LOCK_UN);
        fclose($fp);
    }
    $fp = @fopen($fname, 'r+');
    flock($fp, LOCK_EX);
    $cnt = intval(fread($fp, 10));
    fseek($fp, 0);
    $cnt++;
    fwrite($fp, strval($cnt));
    flock($fp, LOCK_UN);
    fclose($fp);

    return $cnt;
}

finc($pathPV . urlencode($_SERVER['REQUEST_URI']) . '.txt');
finc($pathUU . urlencode($_SERVER['REMOTE_ADDR']) . '.txt');
?>

Apache をご利用なら、SSI でコンテンツの中に挿入してもらえれば動きます。


$pathCPV で指定したパスには、コンテンツのパス名+ファイル名からなるテキストファイルが保管されていきます。これらのファイルの中には、コンテンツ毎のPV数が数字として格納されています。これらの数字の合計が、サイト全体のPV数を表します。

また、$pathUPV で指定したパスには、アクセスしてきたIPを名前とするテキストファイルが保管されていきます。これらのファイルの中には、リモートアクセス毎のPV数が数字として格納されています。このパスにあるファイル数がUU数を表します。(UUはIP別)


たいしたしスクリプトではないので、適当に改造していただいて構いません。

$_SERVER変数の代わりを用意すれば、JavaScriptで呼び出すなどもできるでしょう。

1日に一度 cron を走らせるなどして、これらのパスの集計やバックアップをすれば良いでしょう。

id:radre

丁寧にソースまで書いていただきありがとうございます。

自分で設置する形だとしても、公開されていませんか?

要するに、ページごとのPVとUUを知りたいだけなのですが。。。

2008/07/13 22:10:47

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません