• [织梦吧]唯一域名:www.dedecms8.com,织梦DedeCMS学习平台.

织梦吧 - dedecms,网站模板,建站教程,图片素材免费下载

DedeCMS视频教程
当前位置: 织梦吧 > CMS教程 > discuz教程 >

在线人数最高记录数据的分析和修改方法(附带修改工具)(2)

来源: www.dedecms8.com 编辑:织梦吧 时间:2012-02-07点击:

3、分析模板文件代码,可知变量$onlineinfo[0]是最高记录,$onlineinfo[1]是最高记录的时间,根据变量全局搜到
\source\module\forum\forum_index.php这个文件,发现$onlineinfo就是在这里定义的,摘出157-170行并分析如下:
 

  1. $onlineinfo = explode("\t", $_G['cache']['onlinerecord']);  
  2. //读取缓存中的最高记录和时间并写在数组$onlineinfo 中  
  3. if(empty($_G['cookie']['onlineusernum'])) {  
  4. //判断在线用户数量的cookie是否为空,如果为空就运行下面的程序  
  5. $onlinenum = DB::result_first("SELECT count(*) FROM ".DB::table('common_session'));  
  6. //搜出session表此时的在线记录数量  
  7. if($onlinenum > $onlineinfo[0]) {  
  8. //如果此时在线记录数量高于 最高纪录  
  9. $onlinerecord = "$onlinenum\t".TIMESTAMP;  
  10. //定义字符串$onlinerecord 为最高纪录加此时的时间  
  11. DB::query("UPDATE ".DB::table('common_setting')." SET svalue='$onlinerecord' WHERE skey='onlinerecord'");  
  12. //更新数据库表最高纪录的svalue值  
  13. save_syscache('onlinerecord', $onlinerecord);  
  14. //保存缓存数据到'onlinerecord'中  
  15. $onlineinfo = array($onlinenum, TIMESTAMP);  
  16. //重新定义数组$onlineinfo   
  17. }  
  18. dsetcookie('onlineusernum', intval($onlinenum), 300);  
  19. //重新设置cookie的'onlineusernum'值  
  20. } else {  
  21. $onlinenum = intval($_G['cookie']['onlineusernum']);  
  22. //如果在线用户数量的cookie存在,就读取cookie值  
  23. }  
  24. $onlineinfo[1] = dgmdate($onlineinfo[1], 'd');  
  25. //格式化最高纪录时的时间格式是“2011-9-28” 
标签:
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)

About D8

  • ©2014 织梦吧(d8) DedeCMS学习交流平台
  • 唯一网址 www.DedeCMS8.com 网站地图
  • 联系我们 tom@tiptop.cn ,  QQ