国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Discuz > 正文

Discuz論壇教程之Discuz中如何修改最高在線人數

2024-08-30 19:07:30
字體:
來源:轉載
供稿:網友

Discuz論壇教程之Discuz中最高在線人數更新和存儲機制詳解以及如何修改最高在線人數。

查看模板文件

/template/default/forum/discuz.htm

顯示歷史最高在線人數的代碼為:

[php]view plaincopy

{lang index_mostonlines} <strong>$onlineinfo[0]</strong> {lang on} <strong>$onlineinfo[1]</strong>.</span>  

即 最高記錄是 xx 于 YYYY-MM-DD

這里在線記錄信息存儲于數組$onlineinfo

那么數組$onlineinfo怎么來的呢,來看看論壇首頁的業務邏輯文件:

/source/module/forum/forum_index.php

看看如下代碼

[php]view plaincopy

$onlineinfo= explode("/t", $_G['cache']['onlinerecord']);  

if(empty($_G['cookie']['onlineusernum'])) {  

$onlinenum= C::app()->session->count();  

if($onlinenum> $onlineinfo[0]) {  

$onlinerecord= "$onlinenum/t".TIMESTAMP;  

C::t('common_setting')->update('onlinerecord', $onlinerecord);  

savecache('onlinerecord', $onlinerecord);  

$onlineinfo= array($onlinenum, TIMESTAMP);  

}  

dsetcookie('onlineusernum', intval($onlinenum), 300);  

} else{  

$onlinenum= intval($_G['cookie']['onlineusernum']);  

}  

$onlineinfo[1] = dgmdate($onlineinfo[1], 'd');  

這里首先從緩存$_G['cache']['onlinerecord']中讀取數據復制給數組$onlineinfo;

然后判斷當前在線人數是否超過歷史最高,如果超過了則更新,注意看代碼:

[php]view plaincopy

C::t('common_setting')->update('onlinerecord', $onlinerecord);  

由此我們看到歷史最高數據存儲在數據表pre_common_setting中skey='onlinerecord'

這里順便說一下緩存數據$_G['cache']['onlinerecord']存儲于數據表pre_common_syscache中cname='onlinerecord'

關于緩存的讀取參考/source/function/function_core.php中的savecache和loadcache函數,這里就不再詳述了;

總結一下

1、歷史最高在線人數存儲于數據表pre_common_setting中skey='onlinerecord';

2、discuz系統每次更新的時候會自動更新緩存$_G['cache']['onlinerecord'];

3、顯示的時候直接從緩存中讀取數據;

因此懂得mysql操作的朋友只需要修改數據表pre_common_setting中skey='onlinerecord'的svalue值然后在后臺強制更新緩存即可達到修改歷史最高在線人數的目的;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平武县| 黄大仙区| 十堰市| 那坡县| 芜湖市| 凭祥市| 高安市| 财经| 琼结县| 潼南县| 梧州市| 普陀区| 闸北区| 自贡市| 新干县| 铜山县| 雅安市| 旌德县| 舟曲县| 曲阜市| 建宁县| 台前县| 抚远县| 濮阳市| 枣庄市| 益阳市| 澄城县| 宣武区| 洪洞县| 津南区| 望谟县| 阜平县| 云龙县| 织金县| 福海县| 昌吉市| 盐边县| 玉山县| 龙里县| 卓资县| 措勤县|