ホームページ  >  記事  >  バックエンド開発  >  PHPでオンライン人数をカウントする機能を詳しく解説

PHPでオンライン人数をカウントする機能を詳しく解説

墨辰丷
墨辰丷オリジナル
2018-06-01 09:12:262178ブラウズ

この記事では、主に PHP のオンライン人数をカウントする機能を紹介し、セッション オブジェクトの計算に基づいて PHP の関連操作スキルを分析し、例の形でオンライン人数をカウントします。必要な友人は参考にしてください。

ASP では、オンラインの人数をカウントするためにこのオブジェクトが使用されることを思い出しました。 PHPをどう設計するか?

PHP はセッション オブジェクトを非常にうまくカプセル化しており、HTTP プロトコルに従って、Web サイトの各範囲への訪問者は一意の識別子を生成できます

これだけでオンラインの人数をカウントすることができます。 session_id は訪問者を区別することもできます。みんな違うから。

次に、セッション変数の値をデータベースに保存する方法です。これは別の関数です

echo session_id();
//6ed364143f076d136f404ed93c034201<br />

、上記にはパラメータが渡される関数がいくつかあります。受信送信です。 PHP がコードを実行すると、

セッション内のパラメータが自動的に読み取られます

次のステップは、上記の 5 つの関数とメイン関数を完了することです

bool session_set_save_handler ( callable $open , callable $close , callable $read , callable $write , callable$destroy , callable $gc )
//callable 可随时支取的,请求即付的,随时可偿还的
// open(string $savePath, string $sessionName) 打开连接
//close() 关闭连接
//read(string $sessionId) 对出数据
//write(string $sessionId, string $data) //写入数据
//destroy($sessionId) //删除数据
//gc($lifetime) //垃圾回收函数

メイン関数は次のように完了します。しかし、なぜこれらのメソッドを呼び出すために array("session", "method") を使用する必要があるのでしょうか?

(基本的には理解しています:

オブジェクトのすべてのメソッドはパラメーターとして渡される必要があります)この形式を使用します: array(object , "メソッド名"))

次のステップは、各関数を記述することです

session_set_save_handler(
   array("session","open"),
   array("session","close"),
   array("session","read"),
   array("session","write"),
   array("session","destroy"),
   array("session","gc")
);

Closeデータをリンクすることができますclose

//链接数据的open
function open($path,$sessname) {
  $db = mysql_connect("localhost","root","123456","test");
  mysql_select_db("test",$db);
  mysql_query("SET NAMES UTF8");
  return true;
}

キー関数は次のとおりですまず、読み取り関数 read() を表示します。主に、read() 関数には値が渡されます。渡されるのは session_id

function close(){
$db = mysql_connect("localhost","root","123456","test");
mysql_close($db);
return true;
}

2 つ目は、データが存在する場合の write 関数です。データベースを更新するだけです。新しいデータの書き込み

次のステップは、PHP リサイクル メカニズムを具体化する関数です。どちらの関数にもパラメーターが渡されます。

function read($sid){
  $sql = "select data from session where sid=&#39;{$sid}&#39; and card=&#39;".self::$card."&#39;";
  $query = mysql_query($sql) or die(mysql_error());
  $row = mysql_fetch_array($query);
  $row>0?$row["data"]:" ";
}

さて、5つの関数が完了すると、セッションテーブルからセッションレコードの数が読み出されます。ページにアクセスした人の数を正確にカウントできます。

10分間操作しなかったユーザー記録は消去されます

概要: 以上がこの記事の全内容です。皆様の学習に役立つことを願っています。

関連する推奨事項:

PHP フィルタリング手法を使用した素数の検索


PHP 配列操作の簡単なケースの詳細な説明


phpファイル圧縮パッケージのエクスポート

以上がPHPでオンライン人数をカウントする機能を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。