上にカウンターを表示しています.
ブラウザの更新ボタンを押してみてください、カウンター値が上がっていきます。
このカウンタは、説明を間単にするため、1桁(0〜9)の表示しかできません。
このページのカウンター使われているカウンター用CGIプログラムを提示します。
open(IN,"<esy_cnt.dat"); | esy_cnt.datはカウンタ値保存用ファイル |
$cnt = <IN>; | カウンタ値の読込み |
close(IN); | ファイルのクローズ |
$cnt++; | カウンタ値を1UP |
if($cnt>9){$cnt=0}; | カウンタ値が10以上であれば0にする |
open(OUT,">esy_cnt.dat"); | esy_cnt.datを書込みオープン |
print OUT $cnt; | カウンタ値の書込み |
close(OUT); | |
print "Content-type: image/gif\n\n"; | gifデータを送ることをブラウザへ通知 |
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,$atime,$mtime,$ctime,$blksize,$blocks) =stat("c1_$cnt.gif"); |
カウンタ表示用数値gifファイルのサイズを取得 |
open(IN, "c1_$cnt.gif"); | |
sysread(IN, $buf, $size); | gifファイルの読込み |
close(IN); | |
print $buf; | gifデータの出力 |
数値用gifファイルとして、あらかじめ下記のパターンを用意しています
ファイル名 | c1_0.gif | c1_1.gif | c1_2.gif | c1_3.gif | c1_4.gif | c1_5.gif | c1_6.gif | c1_7.gif | c1_8.gif | c1_9.gif |
表示パターン | ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |