php获取访客IP问题

if...else... 2014-09-04 06:12:18
if (isset($_SERVER)){  
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
//echo "HTTP_X_FORWARDED_FOR1--".$ip;
}else if(isset($_SERVER["HTTP_CLIENT_IP"])){
$ip = $_SERVER["HTTP_CLIENT_IP"];
//echo "HTTP_CLIENT_IP1--".$ip;
}else{
$ip = $_SERVER["REMOTE_ADDR"];
//echo "REMOTE_ADDR1--".$ip;
}
}else{
if(getenv("HTTP_X_FORWARDED_FOR")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
//echo "HTTP_X_FORWARDED_FOR2--".$ip;
}else if(getenv("HTTP_CLIENT_IP")){
$ip = getenv("HTTP_CLIENT_IP");
//echo "HTTP_CLIENT_IP2--".$ip;
}else{
$ip = getenv("REMOTE_ADDR");
//echo "REMOTE_ADDR2--".$ip;
}
}

这是我在网上找的代码,怎么我在不同的地方的不同电脑上,获取的IP是相同的呢?
求好心人帮忙看看,代码哪里有问题了?该怎么改?感激不尽。
...全文
118 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
<?php
function get_real_ip(){
	$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']);
}
$getip=get_real_ip();//获取IP值赋给getip
?>
if...else... 2014-09-04
  • 打赏
  • 举报
回复
现在可以了,我换了收费的空间。
码无边 2014-09-04
  • 打赏
  • 举报
回复
echo $_SERVER['REMOTE_ADDR']; 贴出结果看看
if...else... 2014-09-04
  • 打赏
  • 举报
回复
我用的是主机屋的免费空间。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧