●はじめに
アクセスカウンタをPerlだけで作ってみました。ファイルをオープンして、変数に読み込んで、1足して、ファイルをオープンして、書き込んでいるだけです。
●実行例(このページをリロードしてみよう)
あなたで09729人目です。
●導入手順
1.「count_p1.cgi」を入手します
-
これをFTPで自分のサイトに転送します。
2.カウンタ値を保存する「count.log」を作成します。
-
$echo 0 >count.log
※「$」はUNIXのプロンプトだから入力する必要はないよ。
3.ファイルのパーミッションを変更します
-
$chmod 755 count_p1.cgi
$chmod 606 count.log
4.動作確認をします
-
$count_p1.cgi
$cat count.log
count_p1.cgiを何度か実行してcount.logの内容が更新されればOKです。
5.HTML文書にスクリプトを実行するための1行を入れます
-
あなたで<!--#exec cmd="count_p1.cgi"-->人め
●リスト
#!/usr/local/bin/perl
#基本アクセスカウンタ▲(c)p4room(http://p4room.mda.or.jp/~roro/)
$file = "count.log"; #カウンタ保存用ファイル、chmodの設定は606
open(FILE,"+<$file") || die "$fileが開けません"; #読み書き両用オープン
flock(FILE,2); #ロックする(使用中なら未使用になるまで待つ)
chop($count = <FILE>); #カウンタを読み出す
$count++; #$count = $count + 1 と同じ
seek(FILE,0,0); #ファイルポインタを先頭に戻す
print FILE "$count\n"; #ファイルに書き込む
truncate(FILE,tell); #現在より後ろを削除
printf("%05d",$count); #標準出力に結果を出力
flock(FILE,8); #ロック解除
close(FILE); #クローズ
exit; #おしまい