很多站长朋友们都不太清楚php访问ip统计,今天小编就来给大家整理php访问ip统计,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 php怎么记录访问者ip并生成日志 2、 thinkphp中如何获取用户的ip地址实现网站访问人数统计的计数器 3、 php 怎么统计文章的访问量 4、 php编写用文本txt数据库实现对来访IP地址的大概计数 5、 如何用php程序记录来访IP php怎么记录访问者ip并生成日志php获取访问者IP地址汇总
在很我的时候我们需要得到用户的真实IP地址,例如,日志记录,地理定位,将用户信息,网站数据分析等,其实获取IP地址很简单$_SERVER[\'REMOTE_ADDR\']就可以了。下面我们就来给大家汇总一下常用的几种获取IP地址的方法。
//方法1:
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
//方法2:
代码如下:
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
echo $user_IP;
//方法3:
function getRealIp()
{
$ip=false;
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
}
if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
for ($i = 0; $i < count($ips); $i++) {
if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
$ip = $ips[$i];
break;
}
}
}
return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo getRealIp();
//方法4:
if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
{
$ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
}
elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
{
$ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
}
elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
{
$ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
}
elseif (getenv("HTTP_X_FORWARDED_FOR"))
{
$ip = getenv("HTTP_X_FORWARDED_FOR");
}
elseif (getenv("HTTP_CLIENT_IP"))
{
$ip = getenv("HTTP_CLIENT_IP");
}
elseif (getenv("REMOTE_ADDR"))
{
$ip = getenv("REMOTE_ADDR");
}
else
{
$ip = "Unknown";
}
echo $ip ;
//方法5:
if(getenv('HTTP_CLIENT_IP')) {
$onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$onlineip = getenv('REMOTE_ADDR');
} else {
$onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
echo $onlineip;
//方法6:
print "您的IP地址是:";
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$cip = $_SERVER["HTTP_CLIENT_IP"];
}
elseif(!empty($_SERVER["HTTP_X_FORWARDED_FOR"])){
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
elseif(!empty($_SERVER["REMOTE_ADDR"])){
$cip = $_SERVER["REMOTE_ADDR"];
}
else{
$cip = "无法获取!";
}
print $cip;
保存TEXT中
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$time = gmdate("H:i:s",time()+8*3600);
$file = "123.txt" ;
$fp=fopen ("123.txt","a") ;
$txt= "$ip"."----"."$time"."\n";
fputs($fp,$txt);
?>
thinkphp中如何获取用户的ip地址实现网站访问人数统计的计数器thinkphp默认封装了获取ip方法:get_client_ip()
统计人数这个我也建议用cnzz,很方便,你想看的数据基本都能满足。
php 怎么统计文章的访问量先给储存相应文章的数据表增加一个记录访问量的字段。
可以每访问一次,字段数量加一,但是这样会不准确,因为只要刷新一下,就会记录一下。
为了防止上面的情况发生,可以记录访问者的IP地址,重复的IP地址访问,只记录一次。
但是,一个IP地址,只记录一次,也有问题,比如,一个局域网,多个访问者,共用一个IP地址,这样也会记录不准确。所以最好,一个IP地址一定时间内访问记录一次。这样相对好一点。
不过,即使记录IP地址,但是也有可能有恶意的用户通过切换IP,或者通过刷票软件来刷访问量。
<?php
$ip = $_SERVER['REMOTE_ADDR'];
//循环对比数据表中储存的IP,如果IP存在,不再记录
$query = mysql_query("select * contetns where ip = '".$ip."'");
if(mysql_num_rows($query) > 0){
//IP存在
}else{
//记录访问量
}
?>
文/搬砖家(简书作者)
原文链接:
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
php编写用文本txt数据库实现对来访IP地址的大概计数好,分我要了,你需求是来路ip记录在ip.txt里,countdata.txt是访问次数对吧。但是你的需求我没看明白,ip.txt仅仅是用来存贮最后访问ip,而不是全部访问ip吗?那么countdata.txt也没啥意义了,仅仅是统计页面打开次数而已了。理解的有问题吗?
我的理解是是ip.txt存放所有ip地址,countdata.txt里存放ip和该ip对应的点击次数。其实也就需要countdata.txt一个就可以了,如果有新ip,存入,该ip访问次数+1,如果已存在改ip,ip访问次数+1。
如果只是存贮最后访问ip和总访问次数,那太简单了。等你回复,确定需求后给代码
如何用php程序记录来访IP有一个全局的变量,$_SERVER[RMOTE_ADDR]可以获取,
然后只要写到文件里就可以了
1 <pre>
2 <?php
3 $fp = fopen('iprecord.txt','ar+');
4 $i = 1;
5 if(filesize('./iprecord.txt') > 0)
6 {
7 $t = array();
8 $content = fread($fp,filesize('./iprecord.txt'));
9 $t = split("\n",$content);
10 $i = sizeof($t);
11 }
12 $record = $i.' ip: '.$_SERVER['REMOTE_ADDR']."\n";
13 fwrite($fp,$record);
14 fclose($fp);
15 ?>
16 </pre>
关于php访问ip统计的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php访问ip统计 php访问记录的详细内容...