スレッド表示 | フラット表示〕 全トピック 920 件中 494 番目 次≫ ≪前

オンライン数の計測方法

created: 2005-01-13 01:40 | modified: 2005-01-14 17:57 | reply: 2

[2044] オンライン数の計測方法

user: さとし | created: 2005-01-13 01:40
こんばんは。
XOOPSなんかで現在何人が見ていますって出てるのは、どうやったら作れるんでしょうか。
セッションかクッキーを使えばできるんでしょうか。よろしくお願いします。

winXP,PHP4.3.2
reply: 2048 返信 編集 削除

[2048] (おおよその)アクセス人数のカウント

user: ゆうじ | created: 2005-01-14 01:10
<?php
// データファイル
$datafile = 'access.dat';

// タイムアウト判定までの判定時間(秒)
$lifetime = 300;

// 現在時刻
$time = time();

// データファイルのレコード数をカウント
$data = file($datafile);
$count = count($data);

// $_COOKIE['access'] が未定義ならば
// 新しい接続としてデータファイルに現在時刻を追記
if(!isset($_COOKIE['access'])) {
$fp = fopen($datafile, 'w');
if($count) {
$count = 0;
foreach($data as $value) {
if($value > ($time - $lifetime)) {
fwrite($fp, $value);
$count++;
}
}
}
fwrite($fp, $time. "\n");
fclose($fp);
$count++;
}

// クッキー'access' 送信
setcookie('access', 'access_temp', $time + $lifetime);

?>
<p>
現在 <b><?php echo $count ?></b> 人が見てるかも。
</p>

簡単なものならこんな感じでは。(未テスト)

もしDBでユーザーテーブルを作ってるようなら、
アクセス時刻がここ5分以内のレコード数を
数えれば大まかな人数はだせますね。。

[PHP-users 20168]オンラインユーザ数を知りたい
http://ns1.php.gr.jp/pipermail/php-users/2004-February/020694.html
Parent: 2044  reply: 2050 返信 編集 削除

[2050] Re.(おおよその)アクセス人数のカウント

user: さとし | created: 2005-01-14 17:57
返信ありがとうございました。
やはり、おおまかにしか分からないんですね。
DB使ってやってみます。
Parent: 2048  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 494 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑