PHP超入門 (38)


今回は、今までお話してきた内容を応用して、非常に単純ですが、実用可能な
アクセスカウンターを作ってみたいと思います。

ただし、ここで、また新しい関数が登場しますので、それについては予めご承
知ください。



■アクセスカウンターの考え方

アクセスカウンターとは、どういうものかは知っていますよネ。

そう、誰かがホームページにアクセスする度に、何人目のアクセス者かどうか
その人数を示す例のアレです。


考え方としては、

以前、例として挙げた、

----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\090-1.txt","r+");

fwrite($file,"あなたの実年齢は25歳です。")

fclose($file);
?>
----------------------------------------------------------

というプログラムを利用してみたいと思います。

ただし、これが唯一の正解ということではなく、あくまでも、単なる1例にす
ぎないということで、誤解をしないようお願いします。

他にも、イロイロなアクセスカウンターの作り方はあります。


作り方の流れとしては、

 最初にゼロを書いた「count.txt」というテキストファイルを用意する。



   ↓

 最初のホームページのアクセス者があったら、fopen関数で引数を"r+"とし
 て、「count.txt」に書かれているゼロを変数に読み込む

   ↓

 変数に1を足す

   ↓

 fwrite関数で、「0+1」の結果を「count.txt」に上書き保存する

   ↓

 結果として、今まで「count.txt」に書かれていたゼロの代わりに、1が記
 録される

   ↓

 fclose関数でファイルを閉じる

   ↓

 必要ならば、記録された1をブラウザに表示させる。


ということになります。

ですから、2人目のアクセス者は、「count.txt」に記録されている「1」に1
を足して、「2」、3人目のアクセス者は、同様に「count.txt」に記録されて
いる「2」に1を足して、「3」、4人目のアクセス者は。。。

というような具合になります。



■実際のプログラム

まず、準備として、「0」と書いたファイル「count.txt」を、「C:\inetpub\w
wwroot\php」フォルダに保存します。


そして、

1.ホームページにアクセス者があったら、ファイルを開く
 $file = fopen("C:\\inetpub\\wwwroot\\php\\count.txt","r+")

2.ファイルの中身を変数に読み込む
 $count = fgets($file)

3.「$count」を1増やす
 $count = $count + 1

4.今は謎の行為
 rewind($file)

5.結果をファイルに書き込む
 fwrite($file,$count)

6.ファイルを閉じる
 fclose($file)


以上の説明をPHPのプログラムとしてまとめると、

----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\count.txt","r+");

$count = fgets($file);

$count = $count + 1;

rewind($file);

fwrite($file,$count);

fclose($file);
?>
----------------------------------------------------------

ということになります。

これを「093-1.php」の名前で「C:\inetpub\wwwroot\php」フォルダに保存し
ます。


その後、「http://localhost/php/091-1.php」と入力してください。

そうすると、画面上では何も変化が現れませんが、


「C:\inetpub\wwwroot\php」フォルダにある、「count.txt」の中身をメモ帳
で見てみてください。
数が1増えて、「1」が書き込まれているのが分かります。


でも、この状態では、ブラウザに「count.txt」の中身を表示できません。

その場合には、上のPHPプログラムの最後の行に一行を加えます。


----------------------------------------------------------
<?php
$file = fopen("C:\\inetpub\\wwwroot\\php\\count.txt","r+");

$count = fgets($file);

$count = $count + 1;

rewind($file);

fwrite($file,$count);

print("あなたは".$count."人目のお客様です。");
?>
----------------------------------------------------------


そうすれば、アクセス者数をブラウザの画面に表示することができます。


以上が、今までお話をしてきた内容を基に、作成したアクセスカウンターの例
です。

ただ、初めにも言いましたが、今回初めて出てきている関数もありますし、こ
のままで一応、問題なく動くことは動くのですが、大きな問題が1つあります。

次回は、それらについて簡単にお話しようと考えています。

新しく「パソコン(PC)初心者向け パソコンサポートサービス」を始めました。
詳細は専用サイトを御覧ください。

上記の内容はシリーズとしてメールマガジンで配信しています。

42歳のオヤジでもできた!パソコンサーバー化計画 (マガジンID:0000114576)

メールマガジン登録  メールアドレス:
メールマガジン解除  メールアドレス:

Powered by まぐまぐ

copyright(c) 2002-2007 E&A工房 All rights reserved.