#!/usr/local/bin/perl $usedfile = "usedfile.txt"; # เก็บไฟล์ user ##################### # เก็บค่าตัวเลขแต่ละตัว # วิธีอ่านค่าตัวเลขหาเอาเองนะครับ @n0 = ("3c","66","66","66","66","66","66","66","66","3c"); @n1 = ("30","38","30","30","30","30","30","30","30","30"); @n2 = ("3c","66","60","60","30","18","0c","06","06","7e"); @n3 = ("3c","66","60","60","38","60","60","60","66","3c"); @n4 = ("30","30","38","38","34","34","32","7e","30","78"); @n5 = ("7e","06","06","06","3e","60","60","60","66","3c"); @n6 = ("38","0c","06","06","3e","66","66","66","66","3c"); @n7 = ("7e","66","60","60","30","30","18","18","0c","0c"); @n8 = ("3c","66","66","66","3c","66","66","66","66","3c"); @n9 = ("3c","66","66","66","66","7c","60","60","30","1c"); $counterfile =$ENV{'QUERY_STRING'}; #ค่าของ user open(USEDFILE,"$usedfile"); @usedfile=; close(USEDFILE); $check=0; $b=0; foreach (@usedfile) { ($a,$b,$c)=split(/#/,$_); if ($a eq $counterfile) { $check=1; last; } } if ($check==0) { $b++; open(USEDFILE,">>$usedfile"); print USEDFILE "$counterfile#$b#\n"; close(USEDFILE); } $counterfile="$b"; open(COUNTERFILE,"$counterfile.txt"); $counter=; close(COUNTERFILE); $counter++; open(COUNTERFILE,">$counterfile.txt"); print COUNTERFILE "$counter"; close(COUNTERFILE); if ($counter < 10) {$counter = "000$counter";} elsif ($counter < 100) {$counter = "00$counter";} elsif ($counter < 1000) {$counter = "0$counter";} elsif ($counter < 1000) {$counter = "$counter";} else {$counter = "$counter";} $len=length($counter); @bitmap=(); for($i=0;$i<10;$i++) { for($j=0;$j<$len;$j++) { $n=substr($counter,$j,1); $bytes=&takebitmap($n,$i); push(@bitmap,$bytes); } } for ($i=0;$i<$len*3;$i++) { if ($colortype==0) { unshift(@bitmap,"00"); push(@bitmap,"00"); } else { unshift(@bitmap,"00"); push(@bitmap,"00"); } } print "Content-type: image/x-xbitmap\n\n"; printf ("#define count_width %d\n#define count_height 16\n",$len*8); printf STDOUT "static char count_bits[] = {\n"; for($i = 0; $i < ($#bitmap+1); $i++) { print("0x$bitmap[$i]"); if ($i != $#bitmap) { print(","); if (($i+1) % 7 == 0) { print("\n"); } } } print("};\n"); exit 0; ######## END COUNTER ####### sub takebitmap { if ($_[0]==0) {return $n0[$_[1]];} elsif ($_[0]==1) {return $n1[$_[1]];} elsif ($_[0]==2) {return $n2[$_[1]];} elsif ($_[0]==3) {return $n3[$_[1]];} elsif ($_[0]==4) {return $n4[$_[1]];} elsif ($_[0]==5) {return $n5[$_[1]];} elsif ($_[0]==6) {return $n6[$_[1]];} elsif ($_[0]==7) {return $n7[$_[1]];} elsif ($_[0]==8) {return $n8[$_[1]];} elsif ($_[0]==9) {return $n9[$_[1]];} }