Heim  >  Artikel  >  Backend-Entwicklung  >  php实现根据IP地址获取其所在省市的方法_PHP教程

php实现根据IP地址获取其所在省市的方法_PHP教程

WBOY
WBOYOriginal
2016-07-13 09:55:021225Durchsuche

php实现根据IP地址获取其所在省市的方法

   今天,就讨论一下在PHP中如何获取用户IP地址、PHP根据IP判断用户所在城市以及PHP根据IP实现城市切换或跳转的问题。

  根据现有IP地址获取其地理位置(省份,城市等)的方法

  ?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

function GetIpLookup($ip = ''){

if(empty($ip)){

return '请输入IP地址';

}

$res = @file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=' . $ip);

if(empty($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);

  再发一个简化版的

  ?

1

2

3

4

5

6

7

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段代码的头和尾,然后我们在需要跳转的页面加入以下代码:

  

  刷新页面,是不是达到预想的效果了呢?

  以上所述就是本文的全部内容了,希望大家能够喜欢。

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/993430.htmlTechArticlephp实现根据IP地址获取其所在省市的方法 今天,就讨论一下在PHP中如何获取用户IP地址、PHP根据IP判断用户所在城市以及PHP根据IP实现城市切...
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn