編集:他の誰かがあなたにもっと良いヒントを与えることを望んでいましたが、質問は多くの人を惹きつけていないようですので、私はあなたにもっと良い答えを与えるようにします。
したがって、問題を細かく分割して、ページにアクセスするたびにコードの一部をトリガーする必要があります。統計をレンダリングするときに、ある時点でページとその所有者の間のマッピングを実行できるはずです。「手抜き」をして簡単な解決策が必要な場合は、イベントを説明する新しいエントリをデータベースに挿入するだけです。アクセスされた回数だけに関心があるようです。したがって、特定pageID
の場合、count
エントリの数を指定できるため、このデータはデータベースから直接計算できます。
さて、興味深い部分は、訪問者がどこから来たのかを理解することです。ここ$_SERVER
に記載されているPHPの変数を見ると、興味深い情報がたくさん含まれていることがわかります。私はあなたが主に含むに興味があると思います'HTTP_REFERER'
ユーザーエージェントを現在のページに参照させたページのアドレス(存在する場合)。これは、ユーザーエージェントによって設定されます。すべてのユーザーエージェントがこれを設定するわけではなく、HTTP_REFERERを機能として変更する機能を提供するものもあります。要するに、それは本当に信頼できるものではありません。
Stack Overflowをすばやく調べたところ、信頼できるソースが見つからなかったため、利用可能な場合は、それが使用できる唯一のデータだと思います。
物事をもう少し堅牢にしたい場合は、訪問者のログを記録し、1日あたりIP address
の訪問のみをカウントすることができます。1
したがって、要約すると、pageID
とを含む訪問をログに記録するテーブルを作成します(厳密にしたい場合は、同じユーザーからの同じ日に複数の挿入を防ぐためにreferer
、オプションでIP address
とを使用します)。date
各ページに関数呼び出しを追加して、pageID
内部で使用するURLやIDなどの情報を記録しますか?およびの値$_SERVER['HTTP_REFERER']
。次に、ユーザーが自分の統計を表示したい場合は、ユーザーにpageID
属するすべてのものを検索しcount
、そのページとすべてのリファラーのエントリをプルします。
私の説明が明確であることを願っています。それは確かに防弾ではありませんが、それは単純であり、仕事をするはずです、そしてそれはかなり速くプログラムすることができます。
古い答え:Piwik(ここに記載されています)はGoogleAnalyticsに非常に似ています。データが保存されているデータベースを所有しているので、他の誰か(Google)に依存することなく、必要なすべてのデータを必要な方法で抽出し、必要な方法で操作できます。