国产探花免费观看_亚洲丰满少妇自慰呻吟_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值然后在后臺強制更新緩存即可達到修改歷史最高在線人數的目的;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德江县| 饶河县| 武安市| 潼关县| 临清市| 日喀则市| 广河县| 陈巴尔虎旗| 平谷区| 长兴县| 海城市| 深水埗区| 乌兰县| 诏安县| 和平县| 界首市| 循化| 林周县| 仪征市| 名山县| 锦州市| 松溪县| 临沂市| 汕头市| 门头沟区| 常山县| 丰顺县| 白山市| 中卫市| 环江| 景谷| 台东市| 武穴市| 金华市| 固原市| 普兰店市| 津市市| 灵丘县| 连城县| 南昌市| 乐陵市|