PHP-Methode zur Implementierung der Zählung von Online-Personen

Freigeben: 2023-04-08 13:14:01
nach vorne
3094 Leute haben es durchsucht

PHP-Methode zur Implementierung der Zählung von Online-Personen

PHP kapselt das Sitzungsobjekt sehr gut. Gemäß dem HTTP-Protokoll können Besucher jeder Website-Reihe eine eindeutige Kennung generieren

echo session_id(); //6ed364143f076d136f404ed93c034201
Nach dem Login kopieren

Dies ist der Schlüssel zur Statistik Die Anzahl der Personen, die online sind, hängt davon ab, dass wir nur anhand dieser session_id die Besucher unterscheiden können. Weil jeder anders ist.

Als nächstes erfahren Sie, wie Sie den Wert in der Sitzungsvariablen in der Datenbank speichern.

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) //垃圾回收函数
Nach dem Login kopieren

Beachten Sie, dass bei mehreren der oben genannten Funktionen Parameter übergeben werden. Sie müssen diese nur angeben dass es eine eingehende Übertragung gibt. Wenn PHP den Code ausführt, liest es automatisch die Parameter in der

Sitzung

Der nächste Schritt besteht darin, die oben genannten fünf Funktionen und eine Hauptfunktion abzuschließen

session_set_save_handler( array("session","open"), array("session","close"), array("session","read"), array("session","write"), array("session","destroy"), array("session","gc") );
Nach dem Login kopieren

Die Hauptfunktion wird auf diese Weise abgeschlossen.

Hinweis: Jede Methode, die ein Objekt als Parameter übergibt, muss diese Form verwenden: array(object, "method name")

Der nächste Schritt besteht darin, jede Funktion zu schreiben

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

Schließen Sie Daten, die verknüpft werden können, schließen

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

Die Schlüsselfunktion beginnt gleich und zeigt die Lesefunktion read() an, hauptsächlich read( ) Funktion hat Der übergebene Wert ist session_id

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

Die zweite Funktion ist die Schreibfunktion. Wenn die Daten in der Datenbank vorhanden sind, aktualisieren Sie einfach die Zeit und die neuen Daten werden in

function write($sid,$data) { $sql = "select sid from session where sid='{$sid}' and card='".self::$card."'"; $query = mysql_query($sql) or die(mysql_error()); $mtime = time(); $num = mysql_num_rows($query); if($num){ $sql = "UPDATE session SET data='{$data}', mtime ='{$mtime}'"; }else{ $sql = "INSERT INTO session (sid,data,mtime,ip,card) VALUES('{$sid}','{$data}','".time()."','{$_SERVER['REMOTE_ADDR']}','".self::$card."')"; } mysql_query($sql); return true; }
Nach dem Login kopieren
< geschrieben > Als nächstes kommt die Funktion, die den PHP-Recyclingmechanismus verkörpert. Beide Funktionen verfügen über übergebene Parameter.

function destroy($sid){ $sql = "DELETE FROM session WHERE sid='{$sid}'"; mysql_query($sql) or die(mysql_error()); return true; } function gc($max_time){ $max_time = 600; $sql = "DELETE FROM session WHERE `mtime`<'".(time()-$max_time)."'"; mysql_query($sql) or die(mysql_error()); return true; }
Nach dem Login kopieren

Okay, die fünf Funktionen sind abgeschlossen und dann wird die Anzahl der Sitzungsdatensätze aus der Sitzungstabelle ausgelesen. Sie können die Anzahl der Personen, die die Seite besuchen, genau zählen.

Benutzerdatensätze, die 10 Minuten lang nicht bedient wurden, werden gelöscht.

Code für eine genaue Methode zum Zählen von Online-Personen über PHP:

$ftime){ $fline=$fuid.'|'.$ftime."\n"; @fputs($fp,$fline); } flock($fp,LOCK_UN); fclose($fp); } } echo 'document.write("'.$total_online.'");';
Nach dem Login kopieren
Verwandte Empfehlungen:

PHP-Video-Tutorial:

https://www .php .cn/course/list/29/type/2.html

Das obige ist der detaillierte Inhalt vonPHP-Methode zur Implementierung der Zählung von Online-Personen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:csdn.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!