アクセスカウンタ

PHP で簡単なアクセスカウンタを作ってみましょう。

あなたは 168819 人目のお客様です。

作り方

こういった表示をするには,該当箇所に次のように打ち込みます。

<?php
  $f = fopen("count.txt", "r+");
  $c = fgets($f, 10);
  $c = $c + 1;
  fseek($f, 0);
  fputs($f, $c);
  fclose($f);
?>

<p>あなたは <?php echo $c; ?> 人目のお客様です。</p>

そして,0 とだけ書き込んだファイル count.txt を作って,サーバに送り,「読む」「書く」のパーミッションをすべてオン(666)にしておきます。

仕組み

fopen("count.txt", "r+") は,ファイル count.txt を開く命令です(fopen = file open)。r+ は開き方のフラグで,r なら読む(read),w なら書く(write),r+ なら読むけれど書くこともできる開き方です。fopen() はファイルのハンドル(把っ手)を返しますので,それを変数 $f に代入します。

fgets() は開いたファイルの把っ手を指定して文字列を読み込みます(fgets = file get string)。2番目の引数 10 は,最大10文字読むということです。アクセス数ですからこれで十分でしょう。

$c = $c + 1; は,読んだアクセス数に 1 を加えます。

fseek($f, 0) はファイルを位置 0 つまりファイルの先頭まで巻き戻します(fseek = file seek)。

fputs() はファイルに書き込みます(fputs = file put string)。

最後に fclose() でファイルを閉じます(fclose = file close)。