ホームページ >バックエンド開発 >PHPチュートリアル >IPを使用してPHPで都市情報を照合する方法
この記事では主に、PHP で IP を使用して都市情報を照合する方法について説明します。お役に立てれば幸いです。
1. まず、ユーザーの実際の IP を取得する必要があります
function ip(){ if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')){ $ip = getenv('HTTP_CLIENT_IP'); }elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')){ $ip = getenv('HTTP_X_FORWARDED_FOR'); }elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')){ $ip = getenv('REMOTE_ADDR'); }elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')){ $ip = $_SERVER['REMOTE_ADDR']; } return preg_match("/[\d\.]{7,15}/", $ip, $matches) ? $matches[0] : 'unknown'; }
2. サードパーティのインターフェースを使用して都市を照合します
注:
一致する都市情報は、データベースに保存する必要があります。後で使用します
サードパーティが提供する NetEase と Sina の API インターフェースは現在比較的安定していて使いやすいです
1) Sina IP アドレスクエリ API インターフェース
json 形式で返されたデータがここに表示されます
インターフェース: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip=IP アドレス
サンプルコード: フラグメント
$ip = ip();$url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$ip;$res = file_get_contents($url);echo $res;die;
結果は図に示すとおりです:
2 ) NetEase Youdao IP アドレス API インターフェイス
インターフェイス: http://www.youdao.com/smartresult-xml/search.s?type=ip&q=IP アドレス
結果は図に示すとおりです:
3) タオバオIP アドレス ライブラリ API インターフェイス
インターフェイス: http://ip.taabao.com/service/getIpInfo.php?ip=[IP アドレス文字列]
サンプル コード:
$ip = ip();$url = 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;$res = file_get_contents($url);echo $res;die;
結果は図に示すとおりです:
3. その他の IP アドレス クエリ インターフェイスと呼び出しメソッド
デザイン ハニカム IP アドレス クエリ インターフェイス: http://www.hujuntao.com/api/ip/ip.php
Tencent IP アドレス クエリ インターフェイス: http://fw.qq .com/ipaddress
新浪 IP アドレス クエリ インターフェイス: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
捜狐 IP アドレス クエリ インターフェイス: http://pv.sohu.com /cityjson
Google IP アドレス クエリ インターフェイス: http:// j.maxmind.com/app/geoip.js
Youdao IP アドレス クエリ インターフェイス: http://www.youdao.com/smartresult-xml/search.s
1616 IP アドレス クエリ インターフェイス: http://w.1616 .net/chaxun/iptolocal.php
126 http://ip.ws.126.net/ipquery
hao123 http://app.hao123.com/ipquery/getcity .php?rtype=2
淘宝網 http:// ip.taabao.com/service/getIpInfo.php?ip=117.89.35.58
Pacific Computer Network http://whois.pconline.com.cn/
関連する推奨事項:
以上がIPを使用してPHPで都市情報を照合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。