在Typecho的functions.php文件中添加以下代码;
Handsome主题的functions.php文件位置在/usr/themes/handsome/functions.php
- //在线人数
- function online_users() {
- $filename='online.txt'; //数据文件
- $cookiename='Nanlon_OnLineCount'; //Cookie名称
- $onlinetime=30; //在线有效时间
- $online=file($filename);
- $nowtime=$_SERVER['REQUEST_TIME'];
- $nowonline=array();
- foreach($online as $line){
- $row=explode('|',$line);
- $sesstime=trim($row[1]);
- if(($nowtime - $sesstime)<=$onlinetime){
- $nowonline[$row[0]]=$sesstime;
- }
- }
- if(isset($_COOKIE[$cookiename])){
- $uid=$_COOKIE[$cookiename];
- }else{
- $vid=0;
- do{
- $vid++;
- $uid='U'.$vid;
- }while(array_key_exists($uid,$nowonline));
- setcookie($cookiename,$uid);
- }
- $nowonline[$uid]=$nowtime;
- $total_online=count($nowonline);
- if($fp=@fopen($filename,'w')){
- if(flock($fp,LOCK_EX)){
- rewind($fp);
- foreach($nowonline as $fuid=>$ftime){
- $fline=$fuid.'|'.$ftime."\n";
- @fputs($fp,$fline);
- }
- flock($fp,LOCK_UN);
- fclose($fp);
- }
- }
- echo "$total_online";
- }
示例:
然后在需要显示输出的地方添加以下代码,比如footer.php页脚文件;
Handsome主题添加到/usr/themes/handsome/component/sidebar.php文件;
- # 通用代码
- <?php echo online_users() ?>
-
- # Handsome主题
- <li class="list-group-item"> <i class="glyphicon glyphicon-user text-muted text-muted"></i> <span class="badge
- pull-right"><?php echo online_users() ?></span><?php _me("在线人数") ?></li>
示例: