php获取ip数据不同 php获取ip地址的函数

请问一下php的pdo获取公网ip关掉电脑又开电脑为什么ip又不同了?你没有告知你的服务器网络状况 。
如果是在正规服务商(比如腾讯云 , 阿里云等)购买的(虚拟)服务器 , 一般会有绑定的公网IP,关闭服务器后再打开是相同的 。
如果你的服务器是在自己家(或者宿舍)的内部网络,那么对应的公网ip就要看提供网络的运营商了 , 大部分运营商提供的网络每次拨号(或者登录)后获得的公网ip是不同的 , 甚至有时使用ip网站查询到你电脑的公网ip地址也无法链接到内网你的服务器上 。这种情况下具体解决方案你就要研究内网的路由设置了 。
php获取IP地址的三个函数区别以下资料供参考:
1、REMOTE_ADDR浏览当前页面的用户计算机的ip地址
2、HTTP_X_FORWARDED_FOR浏览当前页面的用户计算机的网关
3.HTTP_CLIENT_IP客户端的ip
在PHP 中使用 REMOTE_ADDR 来取得客户端的 IP 地址,但如果客户端是使用代理服务器来访问 , 那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址 。
【php获取ip数据不同 php获取ip地址的函数】要想透过代理服务器取得客户端的真实 IP 地址 , 就要使用 HTTP_X_FORWARDED_FOR 来读取 。
不过要注意的事,并不是每个代理服务器都能用 HTTP_X_FORWARDED_FOR 来读取客户端的真实 IP,有些用此方法读取到的仍然是代理服务器的 IP 。
还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么HTTP_X_FORWARDED_FOR 取到的值将是空的 。
PHP获取ip地址并比较?php
$ip=$_SERVER["REMOTE_ADDR"];
$q=$mysqli-("select * from account where userip='$ip'");
if($q-rows_num0){echo 'IP已存在';}
else{
$q2=$mysqli-("insert into account (userip) values ('$ip')");
}
?
你看看吧php获取ip数据不同 , 再有问题请HIphp获取ip数据不同我 。
你php获取ip数据不同的函数写错php获取ip数据不同了,$ip=$_SERVER["REMOTE_ADDR"];
php程序 js判断ip地区根据不同ip输出不同内容(商务通代码)不建议使用js进行这个处理,你这样做的话完整过程为
1. 用户访问php页面
2. 服务端输出html
3. 浏览器运行js检查ip所属区域
4. ajax方式提交区域信息给服务器
5. 服务器返回查询结果
6. js将查询结果显示到当前页面
你想想这要多长时间 。因此最好是php端直接判断区域,然后直接查询并输出就行了 。
提供一个php写的函数,如果有用望采纳
function getCityByUserIp() {
$ip = false;
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} else {
$ip = getenv("REMOTE_ADDR");
}
}
if (false === $ip) {
return false;
}
$file = fopen(';ip=' . $ip, 'r');
$content = fread($file, 1024);
fclose($file);
if (! preg_match("/^var remote_ip_info = (\\{[^\\}]+\\});$/", $content, $_match)) {
return false;
}
$ipInfo = json_decode($_match[1]);
return $ipInfo;
}
返回的数组中包括 country, province, city等 , 如果返回false表示无法获得ip或该ip没有在大陆地区匹配的记录(港澳台似乎有province,但是没有city) 。
php到底怎么获取IP地址,为什么三种方法获取的IP都不一样?php获取真实IP地址,参考方法如下:

推荐阅读