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

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

WBOY
풀어 주다: 2016-06-13 09:05:30
원래의
1697명이 탐색했습니다.

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

  

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

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

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿