MENU
CLOSE
CODESYSTEMWEBSITE Edit : 2021.01.14 Update : 2023.09.05

先月と今月のアクセス数をサイトに表示する、アクセスカンターをphpで自作する

10年以上前に流行っていたらしいアクセスカウンター。
今はGoogleAnaliticsなどでかなり詳細にアクセス数を取得できるので、めっきりみなくなっていましたが、最近自作する機会があったので、メモします。

仕組みの考え方

・今回は、ページを表示されるたびにカウント(PV)
・アクセスされる度に、アクセス数が書いてあるファイルを開き、その数字に+1して上書きしていく。
・そのファイルに書いてある数字を取得して、サイト上に表示する。
・毎月1日になったら、cronで上記ファイルを先月用のファイルに名前変更する。
・先月のアクセス数は、先月用ファイルから取得する。
・cronで今月用のファイルを作成し、0を書き込むことで、また1からカウントする。

カウントを保存するファイルを今月用、先月用と作成

①今月のアクセス数を保存するcounter.datを作成し、「0」を記述。任意のディレクトリに配置。
②先月用のアクセス数を記述したファイル、例えば「counter202012.dat」を用意し同じディレクトリに配置

 

phpの記述

カウントを行いたいページに、以下を記述する。

 

HTMLで出力

アクセスカウンターを表示したい場所に、出力。


ここまででアクセスカウンターは動くようになります。
ただ、月が替わるごとに、アクセス数が記述されたファイル(counter.dat)が自動で更新されてほしいので、ここからはcronを使います。
例えば今月が1月だとする場合、2月に変わった時に、counter.datに保存されていた値をcounter202101.datとして先月用のファイルにリネームし、今月用のcounter.datの値を0にしたいです。

そこで、上記の処理を行うためにcronに登録するための処理をphpで記述します。

cron設定用の処理をexec_counter.phpに記述

exec_counter.phpと記載しましたが、ファイル名はなんでも大丈夫です!

 

exec_counter.phpを毎月1日になったら動かすようにcronに設定

こちらの記事にさくらサーバでのやり方を記載しています。

毎月1日に、先月分のcounter.datが日付付きにリネームされ、新しいcounter.datが生成されていることも確認できました!

Miki Kohinata

就活時代、企業で働きたくないがゆえに将来独立することを決めエンジニアの道へ。IT企業で藤本と運命的に出会いKOHIMOTO設立。目指すのは人の心に寄り添えるエンジニア。人生のテーマソングはWeekend by 5lack。