0
A
回答
2
如果您正在访问本地服务器,则您的本地IP地址是远程IP。 PHP给你正确的回应。
如果你想知道你的IP地址到互联网的其他地方,请转到Google,然后输入“What is my ip”。
2
$_SERVER['SERVER_ADDR']
的东西的完整列表,你可能会在$_SERVER
超全局找见php docs。
1
该函数将确定真实的IP地址:
function ipCheck() {
if (getenv('HTTP_CLIENT_IP')) {
$ip = getenv('HTTP_CLIENT_IP');
}
elseif (getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif (getenv('HTTP_X_FORWARDED')) {
$ip = getenv('HTTP_X_FORWARDED');
}
elseif (getenv('HTTP_FORWARDED_FOR')) {
$ip = getenv('HTTP_FORWARDED_FOR');
}
elseif (getenv('HTTP_FORWARDED')) {
$ip = getenv('HTTP_FORWARDED');
}
else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}
+0
我正在访问我的本地服务器,所以它只返回服务器ip不是我的系统ip。是否有任何其他方式来做到这一点 – Meena 2010-12-15 07:57:22
0
逾期答复,但我希望它仍然可能能够帮助别人。我需要一个项目的系统ip,所以我很快就使用正则表达式来取消自定义函数。它适用于Ubuntu Linux(并且技术上可以在任何发行版/ Linux版本上运行)。
function getLocalIp(){
$output = shell_exec('/sbin/ifconfig');
preg_match("/inet?[[:space:]]?addr:([0-9.]+)/", $output, $matches);
if(isset($matches[1]))
$ip = $matches[1];
else
$ip = 0;
return $ip;
}
它要求:
- 制作使用了shell_exec系统调用。
- 使用正则表达式来查找内部IP地址的值。
如果您碰巧为Windows创建类似的东西或改进此功能的功能,请将您的代码与我们其他人分享。
相关问题
- 1. 如何获取系统的IP地址
- 2. 如何获取远程系统的IP地址?
- 3. 获取我的IP地址
- 4. 如何获取IP地址?
- 5. 如何获取IP地址?
- 6. 使用c获取本地系统ip地址#
- 7. 如何获得我的本地主机系统的公共IP地址
- 8. 如何获得客户端系统的IP地址,Serverlet要求
- 9. 获取wifi连接系统的IP地址
- 10. 获取IP地址
- 11. 获取IP地址
- 12. 获取IP地址
- 13. 在仿真器中获取系统IP地址
- 14. 如何获取后端的IP地址?
- 15. 获取Java中的系统MAC地址
- 16. 获取本地IP地址
- 17. 获取我自己的IP地址
- 18. 获取ip地址的值
- 19. 如何在PageMethod中获取IP地址?
- 20. 如何获取IP地址[MYSQL]
- 21. 如何获取全球IP地址?
- 22. 如何仅获取IP地址/子网
- 23. 如何获取客户端IP地址
- 24. 如何获取IP地址列表?
- 25. 如何获取客户端IP地址
- 26. 如何在Python中获取IP地址
- 27. 如何获取服务器IP地址?
- 28. 如何在Python3.4.3中获取ip地址
- 29. 如何在Flex中查找系统(本地)IP地址?
- 30. 如何获取Windows 2008和.NET中包含“skipassource”地址的系统IP地址列表?
查看http://www.suite101.com/content/socket-programming-gethostbyname-a19557 – InSane 2010-12-15 07:43:59
您的服务器是否在本地机器上运行? ...因为它会给你相同的IP地址。 – Beaker 2010-12-15 07:40:38
我通过互联网访问网络服务器,而不是通过本地网络 – Meena 2010-12-16 03:47:54