counter4flash.cgi について |
| 本cgiは、flash用のアクセスカウンター機能を持ったもので、flashからアクセスすると変数countとしてデータを返す。 flashからアクセスするときに、loadVarsオブジェクトのsendAndLoadメソッドを使うとcgiでデータファイル(count.txt)のカウントに+1し、そのデータを直接flashに返してくる。 |
| 本cgiは参考書片手に私が手作りしたもので、クッキー処理やIPアドレスの取得などの機能を持たせておらず、とにかくページが開かれるごとにカウントアップするシンプルなものである。 気持ちよく回るのが特徴であるが、物足りない方は改造してお使いいただきたい。 |
| flashで使うことを意識して、蓄積カウント数を記録するログファイルは、count= の後にカウント数を記録するようにしてある。 これは、loadVariablesメソッドでログファイルから読み込みが出来るように意識したものである。 また、カウント数は6桁で、未カウントの桁は0が入るようになっている。 |
| <ダウンロード(DL後拡張子をcgiに変える)> |
| 使用方法 (1)スクリプト1行目、#!/usr/bin/perl の部分は、サーバー設定に応じて必要ならば書き換える (2)表示桁数を変えたい場合は、sprintf("%06d",$num); の6の部分を希望桁数に変える (3)受け渡し変数countを変えたいときは、最後から2行目のcount=のcountを希望変数に書き換える。 そのとき、seek(FH,7,0)の7の部分を、変更した変数の文字数+1に変える (4)logファイルcount.txtをcgiと同じフォルダにおき、count= と文頭に書き込んでおく。 初期値を0以外に設定したいときは、 count=10000 などと書き込んでおく (5)アクセス権(パーミッション)の設定は、 counter4flash.cgi:755(サーバーによって、705 or 700) counter.txt : 666 なお、本cgiの使用、改造は一切フリーですが、使用者が本cgiで何らかの不利益を被った場合においても作者は一切の責務を負いかねますので、ご了承ください。 |
#!/usr/bin/perl ################################################################################### # # counter4flash.cgi # # Version 1.00 # # T.Yoshioka made # 2004/12/05 Version 1.00 新規作成 ################################################################################### print "Content-type:text/plain\n\n"; # カウントファイルのopen open(FH,"+<count.txt") || open(FH,"+>count.txt"); #flock(FH,2); #ロック(無効にしてある;win2000、XPにのみ働くので) # 前回までのカウント読み込み seek(FH,7,0); $num=<FH>; chop($num); # カウントアップ $num++; # カウント数上書き $num=sprintf("%06d",$num); seek(FH,7,0); print FH "$num\n"; #flock(FH,8); #アンロック(無効) close(FH); #Flashへの書き出しデータ print "count=$num"; exit; |
|
|