给网站或博各添加在线人数统计,看看有多少小伙伴们正在关注你!
其他主题
首先在主题文件里的functions.php
里面最下面放入以下代码:
Joe主题的位置为:/usr/themes/Joe/functions.php,在此文件内找其他function 开头的,然后放在其下面,实在不知道怎么放的,直接放在最底下?>
前。
//在线人数
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
<?php echo online_users() ?>
或者:
<p><?php echo online_users() ?> 位小伙伴正在浏览</p>
Joe主题设置
Joe主题专用,后台可以自由选择开启和关闭,最上面“其他主题”functions.php里加的在线人数代码还是要加的。
1、修改function.php
在function.php文件的底部新增,文件路径:usr/themes/Joe;如果无法显示设置,则将以下joe_custom修改为joe_other
// 在线人数设置
$onlinePersion = new Typecho_Widget_Helper_Form_Element_Select(
'onlinePersion',
array(
'on' => '开启(默认)',
'off' => '关闭',
),
'on',
'是否启用在线人数统计',
'介绍:开启后,文章底部展示当前在线人数'
);
$onlinePersion->setAttribute('class', 'joe_content joe_custom');
$form->addInput($onlinePersion->multiMode());
2、修改footer.php
在footer.php文件中间新增,文件路径:/usr/themes/Joe/public
②第二段,中间新增,比如“已经运行多少天”前添加
<div class="item" style="margin: 10px; <?php if(Helper::options()->ZNPaySet !== 'on') echo 'display:none;' ?>">
<?php echo online_users() ?> 位小伙伴正在浏览
</div>
© 版权声明
分享是一种美德,转载请保留原链接
THE END
暂无评论内容