如果我用php $_SERVER['REMOTE_ADDR']
写的话,我得到了我的ip:176.x.x.x
这个地址与cmd写入ipconfig的地址相同。
现在,如果我在google中找到我的ip,我会得到另一个ip:87.x.x.x
问题是:可以通过php获取此ip 87.x.x.x
吗?
答案 0 :(得分:1)
是的,可以使用$_SERVER['REMOTE_ADDR']
。唯一要做的事情是:在一些免费/非自由的虚拟主机上将你的脚本放在互联网上。
你得到你的IP:176.x.x.x
,因为这个ip是你本地网络中的ip,你在你本地网络的计算机(或其他计算机)上运行webserver。
您的本地网络通过路由器连接到互联网。路由器连接2个网络,因此路由器方面你有2个ip地址:本地网络ip (176.x.x.x)
和internet ip (87.x.x.x)
。
根据网络服务器的位置,您将获得其中一个地址。
当你谷歌你的IP,你正在互联网上寻找它。放在互联网上的网络服务器将看到您的互联网IP地址。顺便说一句。您的本地网络IP由NAT伪装。
答案 1 :(得分:0)
geoip_isp_by_name()函数将返回分配了IP的Internet服务提供商(ISP)的名称
<?php
$isp = geoip_isp_by_name('www.example.com');
if ($isp) {
echo 'This host IP is from ISP: ' . $isp;
}
?>
答案 2 :(得分:0)
使用以下功能获取客户端IP。希望它能起作用
function getClientIP() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;
}