如果你不需要记录每次访问的详细信息,可以不用记录每一次访问,那样数据库会非常庞大,而且统计也会很慢。
创新互联建站网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都网站设计、网站建设,手机APP定制开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联建站深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
简单的方法是就是只要一条记录,用四个字段分别累计本日、本周、本月、本年、总共的访问数,每次访问的时侯对这些字段加1,另外一个字段记录最后一次更新的日期,如果最后更新日期不是本日,就在加1前把本日字段设置为0,本周、本月、本年字段类似处理即可。
?php
$cFile="count.txt";
$acctime=time();
if(file_exists($cFile)){
$fp=fopen($cFile,"r");
$str=fgets($fp,22);
fclose($fp);
$count=trim($str);
$count++;
}else{
$count=1;
}
$first=false;
if(!isset($_COOKIE['acctime'])){
setcookie("acctime",$acctime,time()+3600*24);
$first=true;
$acctime=3600*24+$acctime;
}else{
$acctime=3600*24+$_COOKIE['acctime'];
}
if($first||$acctime=time()){
$count=sprintf("%d",$count);
$fp=fopen($cFile,"w");
fputs($fp,$count);
fclose($fp);
}else{
$count--;
}
print "您是第 ".$count." 位访客。您下次访问计入统计的时间是:".date("Y-n-j H:i:s",$acctime)."。";
?
没有严格的标准,百度统计,我要啦统计,谷歌分析的防刷标准都不一样
一般做一下简单防刷,用cookie 或 session 记录ip和id(或url),但容易被恶意破解。
严格24小时按ip记录一次需要建一个过滤表
字段:autoId,IP,URL或产品ID,addTime
每次点击需查询一下这个过滤表,判断记录是否存在? 如果存在,时间是否超过24小时?
或者每次查询前执行删除24小时前的记录,再查是否有没有IP和ID(或url)的记录。
?php $file="jishuqi.txt"; function jishuqi($file) { $a=fopen($file,"r"); $i=fread($a,"6"); fclose($a); $i+=1; echo "你是第".$i."次访问"; $w=fopen($file,"w"); fwrite($w,$i); fclose($w); } if (!file_exists($file)) { $ww=fopen($file,w); fwrite($ww,0); fclose($ww); } jishuqi($file); ?