头像

基于IP的简单网站访问量统计

2018-05-09 14:12:34 来源:PHP代码   浏览()   评论 ( 0 )   

基于IP的简单网站访问量统计,同一ip下一天只算一次的访问量 代码如下

mysql 代码

create table ipcount(
ip int(10) primary key not null 
auto_increment,
nowdate varchar(255),
nowdatec varchar(255),
ip varchar(255)
)

控制器代码


public function ipcount(){
$ip=get_client_ip(); //获取客户端IP
ini_set('date.timezone','Asia/Shanghai');//设置时区
$date=date('Y-m-d');//获取当前时间
$yesterday=date("Y-m-d",strtotime("-1 day")); //获取昨天时间
$yesterrow=M('ipcount')->field('nowdatec')->where('nowdate="'.$yesterday.'"')->select();
$yesterdayc=0;
for ($i=0;$i<count($yesterrow);$i++){
$yesterdayc+=$yesterrow[$i]['nowdatec'];
}
$row=M('ipcount')->field('ip')->where('nowdate="'.$date.'"')->select();//查找今天的记录
$n=1;
$add=array(
'nowdatec'=>$n,
'nowdate'=>$date,
'ip'=>$ip,
);
if(empty($row)){//判断并添加记录
M('ipcount')->add($add);
}
$iprow=M('ipcount')->field('ip')->where('ip like "%'.$ip.'%" and nowdate="'.$date.'"')->select();//查找今天的ip记录
$ipcount=$row[0]['ip'];
if(empty($iprow)){ //判断并更新IP和统计记录
$ipcount=$ipcount.$ip;
$row1=M('ipcount')->field('nowdatec')->where('nowdate="'.$date.'"')->select();
foreach($row1 as $cd){
$dd= $cd['nowdatec'];
}
$dd+=1;
$save=array(
'nowdatec'=>$dd,
'nowdate'=>$date,
'ip'=>$ipcount,
);
M('ipcount')->where('nowdate="'.$date.'"')->save($save); //判断并更新IP和统计记录
}
$nowrow=M('ipcount')->field('nowdatec')->where('nowdate="'.$date.'"')->select();
$nowsun=0;
for ($i=0;$i<count($nowrow);$i++){
$nowsun+=$nowrow[$i]['nowdatec'];
}
if(!empty($nowsun)){
echo '今天访问量:',$nowsun,'</br>';//判断输出记录
}else{
echo '今天访问量:0</br>';
}; 
$rows=M('ipcount')->field('nowdatec')->select();
$sun=0;
for ($i=0;$i<count($rows);$i++){
$sun+=$rows[$i]['nowdatec'];
}
if(!empty($yesterdayc)){
echo '昨天访问量:',$yesterdayc,'</br>';//判断输出记录
}else{
echo '昨天访问量:0</br>';
}
if(!empty($sun)){
echo '总访问量:',$sun,'</br>';//判断输出记录
}else{
echo '总访问量:0</br>';
}
}


标签: php
声明:转载请注明来源(PHP代码)并保留原文链接:http://www.phpdaima.com//master-107.html
广告不存在
评论0

后面还有条评论,点击查看>>

温馨提示:为规范评论内容,垃圾评论一律封号...