ホームページ  >  記事  >  バックエンド開発  >  IPアドレスに基づいて都道府県と市を取得するPHPメソッド_PHPチュートリアル

IPアドレスに基づいて都道府県と市を取得するPHPメソッド_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:55:021173ブラウズ

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

関数 GetIpLookup($ip = ''){

if(空($ip)){

return 'IP アドレスを入力してください';

}

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

if(empty($res)){ 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']);

}その他{

false を返す;

}

$json を返す;

}

$ipInfos = GetIpLookup('123.125.114.144') //baidu.com IP アドレス

var_dump($ipInfos);

簡易版をお送りします

?

1

2

3

4

5

6

7

関数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);

$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 セクションのコードの先頭と最後に配置し、ジャンプする必要があるページに次のコードを追加します。

ページを更新してください。期待した効果が得られましたか?

以上がこの記事の全内容ですが、皆さんに気に入っていただければ幸いです。

http://www.bkjia.com/PHPjc/993430.html

tru​​ehttp://www.bkjia.com/PHPjc/993430.html技術記事 PHP は、IP アドレスに基づいて州と都市を取得する方法を実装します。今日は、PHP でユーザーの IP アドレスを取得する方法、PHP が IP に基づいてユーザーがいる都市を決定する方法、および PHP が都市の切り替えを実装する方法について説明します。 IP に基づいて...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。