|
|
03/16(Sun) 00:52
■ 本日の訪問者数・昨日の訪問者数の作り方(Web裏技さん)
グラフィカル・アクセスカウンタ・プロV2.0からV3.0の解説に更新しました(99/02/01)
ホームページを訪れると、本日の訪問者数や昨日の訪問者数を表示したページに出会ったことはありませんか? Web裏技さんの「グラフィカル・アクセスカウンタ・プロ」は、
- グラフィックを使ったアクセスカウンタ。
- 累計(画像表示)のほかに、日計のカウントと昨日のカウント数(いずれも文字表示)を記録。
ができます。この日計のカウントと昨日のカウント数の記録を使った「本日の訪問者数・昨日の訪問者数」の作り方を紹介します。
作成手順を説明します。
- プログラムをダウンロードします.
- ダウンロードしたプログラムを編集します.
- プログラムを呼び出すHTMLファイルを編集します.
- プログラムとHTMファイルをサーバに転送し、実行権を設定をします.
- テストします。
■ プログラムをダウンロードします。
- ファイルのダウンロードの前に、あなたのパソコンにデレクトリを作ります。
- ルートデレクトリ(index.htmを置いてある場所のことです。ホームデレクトリともいいます。)にcount、imagesの2つのサブデレクトリを作成します。(ここにファイルをダウンロードします。)
- サーバー側にもcount、imagesというデレクトリを作成しておきます。
- プログラム/データの格納場所
- pcount.pl、count.txt、day.txt、date.txt、old.txt の5つのファイルはデレクトリcountに保存します。
- 0.gif〜9.gifの10個の数字画像データはデレクトリimagesに保存します。
- Web裏技さんのチャレンジCGIのコーナ「グラフィカル・アクセスカウンタ・プロ」から下記のプログラムと10個の数字画像データをダウンロードして下さい。ダウンロードのしかたはこちらです。
- pcount.pl (スクリプト)
- 0.gif〜9.gif (数字画像データ)
- つぎに、下の4つファイルをデレクトリcountに作成し値を入れます。この時改行は入れませんので注意して下さい。空のファイルの作り方はこちらです。
- count.txt (累計カウントファイル。最初は0)
- day.txt (日計カウントファイル。最初は0)
- date.txt (今日の日付けを入れるファイル。今日が15日なら15をセットする)
- old.txt (昨日のカウントファイル。空のファイル)
<応用>現在使用中のカウンタ値(例えば1432)を継続したい場合は、count.txtの値を0ではなく1432と現在のカウンタ数を入れます。
■ ダウンロードしたプログラムpcount.plを編集します。
- 1行目 #!/usr/local/bin/perl をあなたのプロバイダの「perlのあるパス」に書き換えます。
多くのプロバイダはこの指定で大丈夫と思いますが、うまくいかない場合はプロバイダに問い合わせて下さい。Infowebの場合は #!/usr/bin/perl になります。
- <応用>
- このカウンタは、累計カウンタは画像表示、本日、昨日カウンタは文字表示になります。
- 累計カウンタも文字表示したい時は、113,114行目をコメント行にし、119行目のコメント行をはずします。(この場合は数字画像データはダウンロードの必要はありません)
113行 foreach (0..length("$count")-1) { $img = substr($count,$_,1);
114行 print "
"; }
119行 #print $count;
方法は行の先頭に「#」を付けるとコメント行になります。
- 累計カウンタは現在設置してるものをそのまま使い、pcount.plでは今日、昨日のカウンタのみを表示したいという場合は、113,114,119行目を全てコメント行にします。
■ プログラムを呼び出すHTMLファイルを編集します。
- pcount.pl の実行
- index.htm の累計カウンタを表示したい場所に SSIの記述で、<!--#exec cmd="./count/pcount.pl"-->と記述します。
- 本日の訪問者数・昨日の訪問者数の表示
- あなたは今日の<!--#exec cmd="cat ./count/day.txt"-->人目の訪問者です。
- 昨日は<!--#exec cmd="cat ./count/old.txt"-->人の訪問がありました。
■ プログラムとHTMファイルをサーバに転送し、実行権を設定をします。
- index.htmをルートディレクトリにアスキーモードで転送(put)します。
- pcount.plとcount.txt、day.txt、date.txt、old.txt の4つのデータファイルをデレクトリcountにアスキーモードで転送(put)します。
- 0.gif〜9.gifの10個の数字画像データをデレクトリimagesにバイナリモードで転送(put)します。
- ファイルの構成と実行権
転送が終わったら、それぞれのファイルに下の実行権を設定します。ディレクトリ count の実行権777の設定を忘れないで下さい。
index.htm
count(777)/----+-pcount.pl (755)
+-count.txt (666)
+-day.txt (666)
+-date.txt (666)
+-old.txt (666)
images/--------+-0.gif (数字画像 0)
+-1.gif (数字画像 1)
+-略
+-9.gif (数字画像 9)
■ テストします。
1日経てば結果を確認出来ますので、すぐに動作確認したい方以外は、ここから先のテストは要りません。1日待って確認しましょう。
- テストデータを転送して正常動作を確認します。
- count.txt、day.txt、date.txt、old.txtの4つファイルを別の場所にコピーし保存します。
- エディタでcount.txt、day.txt、date.txtを開き、「実行前の値」をセットし転送します。
- index.htmを再読み込みし、本日の訪問者数・昨日の訪問者数が「実行後の値」になっていることを確認します。
実行前の値 実行後の値
count.txt--0 ------------------------------------------1
day.txt----10 ------------------------------------------1
date.txt---昨日の「日」(今日が20日なら19をセットします) ------20
old.txt----そのまま転送します ------------------------------10
- 正常動作が確認できたら本番データを転送します。
さぁ,これで完成です。index.htmを再読み込みし、SSIで記述した場所に本日の訪問者数・昨日の訪問者数が表示されれば完成です。
|
|