|
CGIの実験(2000/7/29)(2003/3/8改正) |
|
カウンターの制作(合計・Yesterday・Today) |
|
サンプルです。
1999/9/17から 人目の訪問者です。
本日は 番目のアクセスです。
また昨日は 人のご来場者がありました。
|
-
CGIとは何か?
-
CGIは、Common Gateway Interfaceの略です。Gatewayとは「橋渡し」の意味です。クライアントのブラウザから入力したデータをWebサーバ側で動作し、結果を返すシステムをCGIプログラムといいます。インターネットがよりインタラクティブになります。
-
プロバイダーのサーバーのOSに注意
-
UNIX系のOSでCGIは動作する。
-
他のOSですとうまく動作しない場合があります。
-
CGIの言語はPerlソフトでかかれてありますが、バージョンが5.0以上のものを使用して下さい。
-
FTPソフトでパーミッション設定が行えること。私は「FFFTP」を使用しました。
-
準備するツール
-
編集ソフト(エディタ)
CGIプログラムは[EUC]という文字コードでかかれていますので、メモ帳やワードパッドでは編集できません。ここでは、「秀丸」を使用しました。
-
FTPソフト
パーミッションが出来るもの。ここでは「FFFTP」を使用しました。
-
カウンターCGIのフリーウェア
ここでは、KENT-WEBを使用しました。
-
daycount.lzhのファイルをダウンロードし解凍する。
-
daycount.cgi
-
daycount.dat
-
gifcat.pl
-
次に1〜10までのカウンタ画像(GIFファイル)を2種類用意し、それぞれ"0.gif,
1.gif,....9.gif"とします。
|
-
FTP先のフォルダーを準備
【フォルダの構成】
+-- index.html ... ここにカウンタを設置するものとする
+-- html
+-- gif
+-- cgi-bin [777] / daycount.cgi [755]
| daycount.dat [666]
| gifcat.pl [644]
|
+-- gif1 / 0.gif
| 1.gif
| :
| 9.gif
|
+-- gif2 / 0.gif
1.gif
:
9.gif
cgi-binのフォルダを宝島のサーバーに作成する。
[]内はパーミッション設定であり、FFFTPのツールソフトに属性というのがあり
そこで上記の[]内の数字を設定する。
|
-
daycount.cgiの修正
daycount.cgiを エディタ
で開き、以下の個所を修正します。
-
- #!/usr/local/bin/perl→宝島の場合#!/usr/bin/perl
- (プロバイダで定められたPerlへのパスを指定します)
- $ip_check
= 0;
- (IPアドレスをチェックし連続カウントを防止する機能です。この機能を使用する場合は
1 とします)
-
- $lockkey
= 1;
- (ファイルロック機構にsymlink()関数を使う場合は
1を、open()関数だと2とします。symlink()関数の方がロック機能が強固とされていますが、NTサーバなど、使用できないプロバイダも多く、その場合には
open()関数を設定してください)
-
- # 記録ファイル
$logfile = './daycount.dat';<---(各ページ毎に名前を変えて設定できます)
-
- #-------------------#
# カウンタ出力処理 #
#-------------------#
## とほほさんの wwwcounterを参考にさせていただきました
sub count_view {
$count += 0;<---(100からカウントを始めたい場合は100)
-
Htmlに書き込み(index.htmlに書き込む場合)
999/9/17から<img src="http://www.tamano.or.jp/usr/okabe/cgi-bin/daycount_cgi.cgi?gif">人目の訪問者です。
本日は<img src="http://www.tamano.or.jp/usr/okabe/cgi-bin/daycount_cgi.cgi?today">番目のアクセスです。
また昨日は<img src="http://www.tamano.or.jp/usr/okabe/cgi-bin/daycount_cgi.cgi?yes">人のご来場者がありました
-
|
|
|
|
|