アクセスカウンターの作り方 php
こんにちは。いたかなやです。
今日も来て頂いてありがとうございます。
最近ブログを更新すると、
★おすすめブログ
に載せてもらえるようになりました。
それに伴ってか、アクセス数も最近増えて来ています。
本当にありがたい限りです。
今後ともよろしくお願いいたします。
今日は、アクセスカウンターについてです。
はてなブログには、アクセス解析がついているので、
とくに自分で作る必要が、ないのですが、
この前、アップさせて頂いた。
Landmine Reversi など、
レンタルサーバーに置かせて頂いているものについて、
どれくらいアクセスがあるのか知りたくて、
ちょっと作ってみました。
アクセス解析みたいに、凄いものではありません。
アクセスカウンターです。
ほんまにカウントするだけです・・・
しょぼいです。
良かったら見ていってください。
まずは、訪問数を格納しておく、テキストファイルを作りましょう。
counter.txt
とかで良いです。
内容は、0 としといてください。
(この、0が訪問数として、増えていきます。)
次にphpの関数を作ります。
<?php function counter($counter_file){ //*1 $counter_lenght = 9; //*2 $fp = fopen($counter_file, 'r+'); //*3 if ($fp){ if (flock($fp, LOCK_EX)){ //*4 $counter = fgets($fp, $counter_lenght); //*5 $counter++; rewind($fp); //*6 fwrite($fp, $counter); //*7 flock($fp, LOCK_UN); //*8 } } fclose($fp); //*9 $len=strlen($counter); //*10-1 for($i=0;$i<($counter_lenght-$len);$i++)$counter="0".$counter; //*10-2 return $counter; //*11 } ?>
以下説明です。
//*1
引数に、テキストファイルの名前(counter.txt)を持つ、counter関数です。
//*2
カウンターに表示させる桁数です。
例:9桁の場合→000000916
//*3
ポインタ=fopen(ファイル名,モード)
ファイルを開く
r+ : 読み取り書き込み
//*4
flock(ポインタ,ロックの種類)
ファイルをロックする。
LOCK_EX : 排他的ロックをする。ロックされていた場合は解除されるまで待つ。
//*5
fgets(ポインタ,読み込みバイト数)
ファイル内の文字列を読み込み
//*6
rewind(ポインタ)
ファイルポインタを最初に戻す。
//*7
fwrite(ポインタ,書き込み文字列)
ファイルに書き込み
//*8
flock(ポインタ,ロックの種類)
ファイルをロックする
LOCK_EX : ロックを解除する。
//*9
fclose(ポインタ)
ファイルを閉じる
//*10
指定された桁数を表示するために、数字の前に0を付けて$counterに格納。
アクセス:916件
$counter文字列:000000916
//*11
0詰めされた$counter文字列も返す。
カウント数の表示は、関数内では行わない。
以上です。
カウンターができたら、
今度は、解析ツールも作りたくなりますね。
頑張りまーす!!