好友邀请统计php源码,php统计在线人数和IP代码

统计网站访问IP以及在线的人数,推荐使用成熟的统计程序来完成,下面这篇适合局域网或小型dome使用,实现简单小巧的php统计在线人数和IP功能。

首先我们需要开启php依赖putenv()函数模块,找到php.ini文件,搜索putenv关键字,删除即可。

如果你使用的宝塔面板环境,点击左侧软件管理,找到php,然后设置->禁用函数。

isable_functions = passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv

删除putenv,然后重启php即可。

下面是PHP统计函数代码

在count.php同目录下创建文件:count,temp,online。新建文本文档count.txt,去掉扩展名即为count了;

linux系统中请设置文件属性为:777。

文件count.php代码,用到了php函数–explode、isset、empty及sprintf等:

$file       = "count"; // 记数文件名称

$startno     = "1000";  // 起始数值

$tempfile     = "temp";

$t_now  = time();

$t_array = getdate($t_now);

$day   = $t_array['mday'];

$mon   = $t_array['mon'];

$year  = $t_array['year'];

if (file_exists("$file")) {

$count_info=file("$file");

$c_info = explode(",", $count_info[0]);

$total_c=$c_info[0];

$yesterday_c=$c_info[1];

$today_c=$c_info[2];

$lastday=$c_info[3];

} else {

$total_c="$startno";

$yesterday_c="0";

$today_c="0";

$lastday="0";

}

if ( !isset($HTTP_COOKIE_VARS["countcookie"]) || $HTTP_COOKIE_VARS["countcookie"] != $day) {

$your_c=1;

$lockfile=fopen("temp","a");

flock($lockfile,3);

putenv('TZ=JST-9');

$t_array2 = getdate($t_now-24*3600);

$day2=$t_array2['mday'];

$mon2=$t_array2['mon'];

$year2=$t_array2['year'];

$today = "$year-$mon-$day";

$yesterday = "$year2-$mon2-$day2";

if ($today != $lastday) {

if ($yesterday != $lastday) $yesterday_c = "0";

else $yesterday_c = $today_c;

$today_c = 0;

$lastday = $today;

}

$total_c++;

$today_c++;

$total_c   = sprintf("%06d", $total_c);

$today_c   = sprintf("%06d", $today_c);

$yesterday_c = sprintf("%06d", $yesterday_c);

setcookie("countcookie","$day",$t_now+43200);

$fp=fopen("$file","w");

fputs($fp, "$total_c,$yesterday_c,$today_c,$lastday");

fclose($fp);

fclose($lockfile);

}

if ( empty( $your_c ) ) $your_c = 1;

setcookie("yourcount",$your_c+1,$t_now+43200);

$your_c = sprintf("%06d", $your_c);

//开始统计在线

$filename="online";

$onlinetime=600; //同一IP在线时间,单位:秒

$online_id=file($filename);

$total_online=count($online_id);

$ip=getenv("REMOTE_ADDR");

$nowtime=time();

for($i=0;$i

$oldip=explode("||",$online_id[$i]);

$hasonlinetime=$nowtime-$oldip[0];

if($hasonlinetime

}

$nowonline[]=$nowtime."||".$ip."||";

$total_online=count($nowonline);

$fp=fopen($filename,"w");

rewind($fp);

for($i=0;$i

fputs($fp,$nowonline[$i]);

fputs($fp,"n");

}

fclose($fp);

if($total_online==0)$total_online=1;

$total_online = sprintf("%06d", $total_online);

///

echo "document.write("·总IP访问:".$total_c."");";

echo "document.write("
");";

echo "document.write("·昨日访问:".$yesterday_c."");";

echo "document.write("
");";

echo "document.write("今日IP:".$today_c."");";

echo "document.write(" ");";

echo "document.write("·您 访 问:".$your_c."");";

echo "document.write("
");";

echo "document.write("当前在线:".$total_online."");";

exit;

?>

ag_nr_pic()

ag_nr_img()

栏目分类

ag_right()

热门推荐

2、站内下载币均可通过签到等任务进行免费兑换。

3、站内资源均来源于网络公开发表文件或网友投稿发布,如侵犯您的权益,请联系管理员处理。

4、本站所分享的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!

5、所有资源均收集于互联网仅供学习、参考和研究,请理解这个概念,所以不能保证每个细节都符合你的需求,也可能存在未知的BUG与瑕疵,因本站资源均为可复制品,所以不支持任何理由的退款兑现(特殊情况可退积分),请熟知后再支付下载!

五八弟源码下载 » php统计在线人数和IP代码

常见问题FAQ

cf9b3fb28e09d5f8003578badd70da9d.png

官方

SVIP

分享到:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值