アクセスカウンターのCGI
アクセスカウンターとは、「あなたは○○人目の訪問者です」
などと表示するプログラムで、SSIによって実行する。
その仕組みは、HTMLからexecによりカウンタープログラムが実行され、
過去に何人訪れたか数字が保存されたファイルを読み込みモードで開き、
数字を読み込み、ファイルを閉じる。
読み込んだ数字に1を追加し、その数字のファイルへの書き込みとHTMLへの表示を行う。
1.アクセスカウンターのCGIプログラム(count.cgi)作成
いつものようにPerlで書かれたプログラムであることを宣言する。
#!/usr/local/bin/perl
今まで何人の訪問者があったか保存してあるファイル(count.log)を読込みモードで開き、
このファイルには数字が1つ1行に保存してあるので、
1行だけ読込み、変数$countに数字を代入する。
読込みが終わったらファイルを閉じる。
open(IN,"count.log");
$count = <IN>;
close(IN);
訪問者の人数($count)を1増やす。これで現在の訪問者数になった。
$count++;
count.logを今度は書き込みモードで開き、
現在の訪問者数を更新する。更新後はファイルを閉じる。
open(OUT,">count.log");
print OUT $count;
close(OUT);
現在の訪問者数$countをこのプログラムを呼び出したHTMLへ送り返す。
print "Content-type: text/plain\n\n";
print "$count";
Content-type: text/plain
これ以降を普通の文(数字)として表示することを示す文になる。