今天,就讨论一下在PHP中如何获取用户IP地址、PHP根据IP判断用户所在城市以及PHP根据IP实现城市切换或跳转的问题。
根据现有IP地址获取其地理位置(省份,城市等)的方法
- function GetIpLookup($ip = ''){
- if(emptyempty($ip)){
- return '请输入IP地址';
- }
- $res = @file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=' . $ip);
- if(emptyempty($res)){ return false; }
- $jsonMatches = array();
- preg_match('#/{.+?/}#', $res, $jsonMatches);
- if(!isset($jsonMatches[0])){ return false; }
- $json = json_decode($jsonMatches[0], true);
- if(isset($json['ret']) && $json['ret'] == 1){
- $json['ip'] = $ip;
- unset($json['ret']);
- }else{
- return false;
- }
- return $json;
- }
- $ipInfos = GetIpLookup('123.125.114.144'); //baidu.com IP地址
- var_dump($ipInfos);
再发一个简化版的
- function getIpAddress(){
- $ipContent = file_get_contents("http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js");
- $jsonData = explode("=",$ipContent);
- $jsonAddress = substr($jsonData[1], 0, -1);
- return $jsonAddress;
- }
- $ip_info=json_decode(getIpAddress());
PHP根据IP地址实现城市切换或跳转
到这里,其实问题已经很简单了,用简单的js就通通搞定。C段如下:
//根据IP地址跳转指定页面js取得城市
var city=''; //根据IP地址所有城市跳转到指定页面
if(city.indexOf("上海市")>=0){
window.location.href="http://shanghai.demo.com/"; }
将开头的A段代码和上面的C段代码分别放在B段代码的头和尾,然后我们在需要跳转的页面加入以下代码:
刷新页面,是不是达到预想的效果了呢?
以上所述就是本文的全部内容了,希望大家能够喜欢。
新闻热点
疑难解答