シンプルカウンター

はじめに

シンプルカウンター 最もシンプルなアクセスカウンターです。
imgタグから呼び出されるたびにカウントアップしていきます。

counter.cgi

counter.txtを読み込んで、カウントアップをして、imageフォルダ内の画像を出力します。
7桁表示で、左右にl.gif、r.gifのおまけつきです。

#!/usr/bin/ruby -Ke

require "cgi"
require "gifcat"

count = 0
File.open( "counter.txt", "r+" ) do |file|
    file.flock( File::LOCK_EX )
    count = file.read.chomp.to_i + 1
    file.rewind
    file.truncate( 0 )
    file.write count.to_s
end

count = count.to_s
count = "0" * ( 7 - count.size ) + count
count = "l" + count + "r"

gif = GIFCat.new
gif.read_files( *count.split( "" ).collect{ |n| "image/#{n}.gif" } )

cgi = CGI.new

print "Pragma: no-cache\n"
print "Cache-Control: no-cache\n"
print "Expires: Thu, 01 Dec 1994 16:00:00 GMT\n"

cgi.out( "image/gif" ) do
    gif.to_gif
end

スポンサード リンク

トラックバック

トラックバックURL
https://linux-life.net/tb/program/ruby/cgidoc/counter/simple/
Linux Life 〜 No linux, No life 〜
プログラミング > Ruby > CGI入門 > アクセスカウンター > シンプルカウンター