Pocket

PHPを使って簡易アクセスカウンターを作る方法をご紹介したいと思います。
簡易アクセスカウンターですので、アクセス解析ツールのような同一IPからの連続アクセスを1カウントとする・・・といったようなことはせず、ページにアクセスする度に、カウントされていくようなものを想定しています。

このカウントしていく仕組みを知っておくと、普段パソコンでテキストファイルを読み書きしているようなことが、
PHPでも、サーバーに置かれたテキストファイルなどをプログラム上で読み書きができることを感じられると思いますので、これからPHPを学びたいとお考えの方にも結構役立つサンプルなのではないかと思います。

 

▼サンプルコード

一連のコードの流れをご説明しますと、
まず、2行目でアクセスした際のカウント数を記録しておく「counter.dat」というテキストファイルを用意して、$filename という変数に代入しておきます。

また、counter.datを作成の際は、事前に 0 (ゼロ)を記述しておきます。

その後、以下のような流れでプログラム処理が進んでいきます。

4行目 : counter.datファイルを fopen関数で、「読み込み&書き込み」モードで開きます。
5行目 : fgets関数でcounter.datに書かれた内容を読み込みます。
6行目 : counter.datに書かれた内容に1をプラスします。
7行目 : fseek関数でcounter.datの読み書きを行う場所を先頭に戻します。
8行目 : fputs関数でカウントされた数をファイルに書き込みます。
9行目 : flock関数で自分がファイルに書き込んでいるときに他人によってファイルを上書きされないようにロックしておきます。
10行目: fclose関数でファイルを閉じます。
11行目: echo でカウントされた数字を表示します。

 

この一連の流れが、PHPでファイルを「読み込み&書き込み」する場合の基本的なコードの書き方になりますが、
以下のようにファイルを設置しプログラム本体へアクセスをすると、アクセスする度にカウントが加算されていく様子が確認できると思います。

20140521

今回ご紹介させてただいた簡易アクセスカウンターは、PHPを使ったファイルの「読み込み&書き込み」を行う基本的なコードですが、コードを工夫することで本格的なアクセス解析ツールを作成したり、データベースを使わない簡易ブログツールなどを作ることもできると思いますので、次の機会にもう少し発展させた使い方をご紹介したいと思います。

 

スタッフ募集のお知らせ

株式会社それからデザインでは現在、エンジニア・プログラマー、デザイナー、ディレクターを募集しています。自社サービスやクライアント企業のブランディングに関わるモノづくりの現場であなたの経験を活かしてみませんか?
ご興味のある方は、下記より募集要項をご覧ください。

生きるように働く人の仕事探しサイト「日本仕事百貨」に、当社のSE・プログラマー募集の記事が掲載されました。是非ご覧ください。