php统计某个ip一分钟之内的刷新次数并写入txt文档
2个回答
展开全部
<?php
function getIP(){
global $ip;
if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if(getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else $ip = "Unknow";
return $ip;
}
$ip = getIP();
$fpgetNum = fopen($ip.'.txt','r+');
$con = fread($fpgetNum,1024);
fclose($fpgetNum);
$fp = fopen($ip.'.txt','w');
if(empty($con))
{
$num = 1;
}else{
$num = intval($con)+1;
}
fwrite($fp,$num);
fclose($fp);
至于一分钟,你只需要存储个第一次的时间戳,当前时间减去那个时间戳小于60才执行这段代码就好了!
追问
对php不太熟悉、可否给下后面的代码呢。。。谢谢啊
打算是对某个ip 在60秒内 刷新页面3次 记入txt文档,只记录这个ip其他的不记录。我的标题好像提错方向了 对不起啊
方便的话 麻烦看下,谢谢
追答
<?php
//获取ip
function getIP(){
global $ip;
if (getenv("HTTP_CLIENT_IP"))
$ip = getenv("HTTP_CLIENT_IP");
else if(getenv("HTTP_X_FORWARDED_FOR"))
$ip = getenv("HTTP_X_FORWARDED_FOR");
else if(getenv("REMOTE_ADDR"))
$ip = getenv("REMOTE_ADDR");
else $ip = "Unknow";
return $ip;
}
//你要统计的自定义ip
$coutIP = '127.0.0.1';
$ip = getIP();
//只有你需要的ip才进入统计
if($coutIP == $ip)
{
if(empty($_COOKIE[$ip]) || (!empty($_COOKIE[$ip]) && (time() - $_COOKIE[$ip]) < 60))
{
//获取记录的ip访问次数
$fpgetNum = fopen($ip.'.txt','r+');
$con = fread($fpgetNum,1024);
fclose($fpgetNum);
$fp = fopen($ip.'.txt','w');
//第一次访问
if(empty($con))
{
$num = 1;
//存储第一个时间戳,这里用了COOKIE,读取的客户端cookie,最好存储数据库,cookie是可以删除的!再客户端本地的!
setcookie($ip,time());
}else{
$num = intval($con)+1;
}
fwrite($fp,$num);
fclose($fp);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询