カウンターとは、ホームページを閲覧するたびに増えていくものです。
そもそも、PHPはHTMLを出力するのですから、このプログラミングは簡単です。唯一、考慮すべきことは、カウントした数値をどこに保存しておくかと言うことです。
これには、2つの方法があると思います。
1.データファイルを利用して、そこに記録しておく。
2.データベースを利用してカウントする。
ここでは、前者のデータファイルを利用してカウントする方法を選びます。どちらの場合でも、考え方は同じです。
- カウントするページが呼び出される。
- ページのPHPがデータファイルを読み込む
- データに1をプラスする
- 元のファイルにデータを保存する
- データを下に、HTMLを書き出す
それではスクリプトを紹介します。
【counter.php】->実行結果はこちら
$fp=fopen(”ファイル名”,”r”)
fclose($fp)
これは、ファイル名のファイルを”r”と言う方法で利用可能にするという意味です。”r”とは、読み込み専用、後に出てくる"w"は、書き込み(上書き)用で、ファイルが無ければ新規作成と言う意味があります。$fpと言う変数ですが、ファイルのなかの、どのデータを利用するのかを指すアドレスが入ります。一般的に、コンピューター側がデータを制御するための決める値で、こちらが積極的にこの値を変更することはありません。”r”や”w”の場合は、ディフォルトでファイルの先頭を指し示し、読み書きすると、データーの大きさだけ後ろへ移動します。また、fcloseは、$fpで指定で利用しているファイルを利用不可にすることを表します。fopenとfcloseは常に対で使われる必要があります。
fgets($fp)
$fpの示すデータを1行分読み込む
その後、$fpは、1行分のデータの後(次のデータの先頭)を示すので、
連続して行うと、次のデータ、次のデータと読み込むことになる
fwrite($fp)
$fpの示すデータに書き込む。
その後、$fpは、書き込むデータの直後を示すので、
連続して行えば、後ろへ後ろへ、データを連結していくことになる
あとは、簡単ですので、スクリプト中のコメントだけで理解できると思います。データファイルはメモ帳でも開けるテキストデータですから、データの種類を増やしたり、表示方法を変えることで、月間別、日別のカウントなどを行い、アクセス解析も可能です。0〜9までの数値を示すCGを用意すれば、簡単にビジュアル的なカウンターになるでしょう。