今日紹介するのは PHP で作るシンプルな[アクセス・カウンター]です。
インターネットが普及し始めた2000年代に随分と流行した記憶がありますが、当時は CGI を使って動かすのが一般的だったと思います。
その後アクセスカウンターの存在意義が疑問視され、今ではすっかり廃れてしまった技術。ですが、細々と需要はあるものです。
仕組みとしては、アクセス数を保存しておくテキストファイル[count.txt]を用意しておき、任意のページにアクセスがある度に PHP のプログラムにより[count.txt]内の数値をカウントアップしていくことになります。
まずは準備として、テキストファイル[count.txt]を作成し、ファイルには数字の「1」を書き込んでおきましょう。
このファイルをサーバーにアップロードして、パーミッションを「606」に設定しておきます。
続いて html 側にて、アクセス数を表示させたい任意の場所に以下のコードを記述します。
<?php
$counter_file = 'count.txt';
$counter_lenght = 8;
$fp = fopen($counter_file, 'r+');
if ($fp) {
if (flock($fp, LOCK_EX)) {
$counter = fgets($fp, $counter_lenght);
$counter++;
rewind($fp);
if (fwrite($fp, $counter) === FALSE) {
echo ('<p>'.'ファイル書き込みに失敗しました'.'</p>');
}
flock ($fp, LOCK_UN);
}
}
fclose ($fp);
echo '<p>';
echo ('あなたは <em>'.$counter.'</em> 人目の訪問者です。');
echo '</p>';
?>
この際、PHP を動かすファイルの拡張子は必ず「.php」でなければならないのでご注意を。
サンプルは以下になります。
[PHP]で作るアクセス・カウンター:サンプル・デモ