很多时候我们会用到判断用户ip来显示不同的数据,比如说商城的商品数据或者是库存等,都可以通过ip判断显示出不同地区的信息来,下面就给大家介绍一种方式。如果有需要可以借鉴一下。希望对大家有所帮助。
第一个函数是获取到用访问者的ip,然后带入下面的函数中,查询出具体的地区城市等参数。
//获取当前访问用户的ip
function getIP()
{
static $realip;
if (isset($_SERVER)){
if (isset($_SERVER[“HTTP_X_FORWARDED_FOR”])){
$realip = $_SERVER[“HTTP_X_FORWARDED_FOR”];
} else if (isset($_SERVER[“HTTP_CLIENT_IP”])) {
$realip = $_SERVER[“HTTP_CLIENT_IP”];
} else {
$realip = $_SERVER[“REMOTE_ADDR”];
}
} else {
if ( getenv (“HTTP_X_FORWARDED_FOR”)){
$realip = getenv(“HTTP_X_FORWARDED_FOR”);
} else if (getenv(“HTTP_CLIENT_IP”)) {
$realip = getenv(“HTTP_CLIENT_IP”);
} else {
$realip = getenv(“REMOTE_ADDR”);
}
}
return $realip;
}
这个函数是获取到当前ip的具体参数,有了这些参数就可以进行自己想要的判断。
(此函数需要在正式的服务器上访问才能返回出公网的ip,自己的环境是不行的)
//输出当前ip的详细信息
function getCity($ip)
{
$url=””.$ip;
$ip=json_de code (file_get_contents($url));
if((string)$ip->code==’1′){
return false;
}
$data = (array)$ip->data;
return $data;
}
//获取返回的数据,该数据是数组直接使用即可
$data=getCity(getIP());
数据中会有具体的城市名称等信息,可以通过这些信息去判断,做自己需要的操作了。赶快试试吧。
作者:吾林爱分享