FreeBSD/PHP-STATS
PHP-STATS †
xoops asGroupwareにて日本語化が行われているPHP-STATS 1.9.1インストール。
ビジュアルはスマートでとってもいい感じです。さすがはイタリア製かな
こちらのサイトでもインストール方法を掲載してますよ。
環境 †
FreeBSD 5.4
PHP-4.40
PHP-STATS 1.9.1
MySQL-4.0.26
※注意:MySQLのバージョンが4.10以上だとXoopsと一緒で文字化けしてしまいます。
Xoopsと同じように、MySQLに渡す時に文字コードを指定すればいいはずですが、
該当場所が解明できませんでした。
インストール †
■ソースをダウンロード
本家サイトが移動したようで、ここにあります。
http://www.phpstats.net/
■日本語化パッチをダウンロード
下の2つの日本語化パッチをダウンロードし、本家サイトからダウンロードしたもの(解凍するとstatsフォルダ)に
コピーして上書きする。
Php-Stats_0.1.9_j.zip (ver. 0.43)
Php-Stats_0191_jp_sabun.zip (ver. 0.1)
■config.phpの編集
$option['host']='MySQLサーバーのIPアドレスかサーバー名'; $option['database']='データベース名を記入'; $option['database']='ユーザー名を記入'; $option['user_db']='パスワードを記入'; $option['script_url']='Php-Statsの設置ディレクトリをフルパスで記入'; $option['script_url']='password'; // Password $option['prefix']='php_stats';データベーステーブルの接頭語 $option['check_new_version']=0;本サイトに新しいバージョンをチェックしにいくかどうか 0はしないです。
■サイトにアップ
ftpなどで、statsフォルダごとアップします。
パーミッションは以下のように設定します。
777 | アップロードしたディレクトリ |
option | |
666 | config.php |
766 | admin.php、click.php、download.php、escludi.php、php-stats.php |
php-stats.recjs.php、php-stats.recphp.php、tracking.php、view_stats.js.php |
■オンラインでの設定
ラウザで,http:/設置先のURL/setup.php をアクセス。
後はウィザードに沿って進んでいけば、大体わかると思います。
DB変更時のスクリプト変更点(PHP-STATS 1.9.1) †
このファイルのDBサーバの個所を書き換えます。
▼config.php:25:
$option['host']='DBサーバ'; // Indirizzo server MySQL o IP
▼option/php-stats-options.php:6:
'host'=>'DBサーバ',
日本語化したページ一番下の文字が文字化け †
このファイルをEUCに変換すると正常表示されます。
templates/default/admin.tpl
昨日の訪問者数・昨日のヒット数を表示する。 †
「カウンタを表示させるスクリプトの生成」という項目があり、
「オンラインユーザー数」「今日の訪問者数」「本日のヒット数」「合計訪問者数」「合計ヒット数」を
表示するコードについては簡単に生成できます。
これに「昨日の訪問者数」「昨日のヒット数」を表示できるようにしてみます。
◇/stats/view_stats.js.php 107行目あたり
case '4': list($hits)=@mysql_fetch_row(sql_query("SELECT hits FROM $option[prefix]_counters LIMIT 1")); $toshow=$hits+$option['starthits']; break;
//昨日の訪問者数 case '5': $tmp1=0; $tmp2=0; $data_oggi=date("Y-m-d",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d")-1,date("Y"))); $result=sql_query("SELECT visits FROM $option[prefix]_daily WHERE data='$data_oggi' LIMIT 1"); list($tmp1)=@mysql_fetch_row($result); $result=sql_query("SELECT SUM(visits) FROM $option[prefix]_cache WHERE giorno='$data_oggi' LIMIT 1"); list($tmp2)=@mysql_fetch_row($result); $toshow=$tmp1+$tmp2; break;
◇続いて、以下のソースを挿入します。
//昨日のページビュー数 case '6': $tmp1=0; $tmp2=0; $data_oggi=date("Y-m-d",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d")-1,date("Y"))); $result=sql_query("SELECT hits FROM $option[prefix]_daily WHERE data='$data_oggi' LIMIT 1"); list($tmp1)=@mysql_fetch_row($result); $result=sql_query("SELECT SUM(hits) FROM $option[prefix]_cache WHERE giorno='$data_oggi' LIMIT 1"); list($tmp2)=@mysql_fetch_row($result); $toshow=$tmp1+$tmp2; break; //--今月の訪問者数---- case '7': $tmp1=0; $tmp2=0; $data_oggi=date("Y-m-",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d"),date("Y"))); $result=sql_query("SELECT SUM(visits) FROM $option[prefix]_daily WHERE data like '$data_oggi%' LIMIT 1"); list($tmp1)=@mysql_fetch_row($result); $result=sql_query("SELECT SUM(visits) FROM $option[prefix]_cache WHERE giorno like '$data_oggi%' LIMIT 1"); list($tmp2)=@mysql_fetch_row($result); $toshow=$tmp1+$tmp2; break; //-------------------- //--先月のページビュー数--- case '10': $tmp1=0; $tmp2=0; $data_oggi=date("Y-m-",mktime(date("G")-$option['timezone'],date("i"),0,date("m")-1,date("d"),date("Y"))); $result=sql_query("SELECT SUM(hits) FROM $option[prefix]_daily WHERE data like '$data_oggi%' LIMIT 1"); list($tmp1)=@mysql_fetch_row($result); $result=sql_query("SELECT SUM(hits) FROM $option[prefix]_cache WHERE giorno like '$data_oggi%' LIMIT 1"); list($tmp2)=@mysql_fetch_row($result); $toshow=$tmp1+$tmp2; break; //-------------------- //--今年のページビュー数--- case '11': $tmp1=0; $tmp2=0; $data_oggi=date("Y-",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d"),date("Y"))); $result=sql_query("SELECT SUM(hits) FROM $option[prefix]_daily WHERE data like '$data_oggi%' LIMIT 1"); list($tmp1)=@mysql_fetch_row($result); $result=sql_query("SELECT SUM(hits) FROM $option[prefix]_cache WHERE giorno like '$data_oggi%' LIMIT 1"); list($tmp2)=@mysql_fetch_row($result); $toshow=$tmp1+$tmp2; break; //--最高訪問者(ページビュー)数--- case '12': $tmp1=0; $result=sql_query("SELECT MAX(hits) FROM $option[prefix]_daily WHERE data like '%' LIMIT 1"); list($tmp1)=@mysql_fetch_row($result); $toshow=$tmp1; break; //--訪問者(ページビュー)の平均数--- case '13': $tmp1=0; $result=sql_query("SELECT round(avg(hits),0) FROM $option[prefix]_daily WHERE data like '%' LIMIT 1"); list($tmp1)=@mysql_fetch_row($result); $toshow=$tmp1; break; //--直近の日〜土の7日間の訪問者(ページビュー)数--- case '14': $tmp1=0; $week=date("w",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d"),date("Y"))); $data_oggi=date("Y-m-d",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d"),date("Y"))); $data_7dayago=date("Y-m-d",mktime(date("G")-$option['timezone'],date("i"),0,date("m"),date("d")-$week,date("Y"))); $result=sql_query("SELECT SUM(hits) FROM $option[prefix]_daily WHERE data between '$data_7dayago' and '$data_oggi'"); list($tmp1)=@mysql_fetch_row($result); $toshow=$tmp1; break;
・オンラインユーザー数
*/stats/view_stats.js.php?mode=0&style=8&digits=4
・本日の訪問者数
*/stats/view_stats.js.php?mode=1&style=8&digits=4
・本日のヒット数
*/stats/view_stats.js.php?mode=2&style=8&digits=4
・合計訪問者数
*/stats/view_stats.js.php?mode=3&style=8&digits=5
・合計ヒット数
*/stats/view_stats.js.php?mode=4&style=8&digits=5
・昨日の訪問者数
*/stats/view_stats.js.php?mode=5&style=8&digits=4
・昨日のヒット数
*/stats/view_stats.js.php?mode=6&style=8&digits=4
・今月の訪問者数
*/stats/view_stats.js.php?mode=7&style=8&digits=4
・先月のページビュー数
*/stats/view_stats.js.php?mode=10&style=8&digits=4
・今年のページビュー数
*/stats/view_stats.js.php?mode=11&style=8&digits=4
・最高訪問者(ページビュー)数
*/stats/view_stats.js.php?mode=12&style=8&digits=4
・訪問者(ページビュー)の平均数
*/stats/view_stats.js.php?mode=13&style=8&digits=4
・直近の日〜土の7日間の訪問者(ページビュー)数
*/stats/view_stats.js.php?mode=14&style=8&digits=4