ホームページ >バックエンド開発 >PHPチュートリアル >ユーザー IP と地理的位置を取得するための PHP タオバオ IP データ_PHP チュートリアル

ユーザー IP と地理的位置を取得するための PHP タオバオ IP データ_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 16:57:02879ブラウズ

IP アドレスを保存するために独自のデータベースを使用したくない場合があります。独自の IP ライブラリがタイムリーに更新されない場合は、サードパーティの IP ライブラリを使用して操作することができます。ユーザーの IP と地理的位置を取得するための Taobao IP データ。

IEブラウザで次のアドレスを直接開きます

http://ip.taobao.com/service/getIpInfo.php?ip=8.8.8.8

返品情報

コードは次のとおりです コードをコピー

{"コード":0,"データ":{"国":"u7f8eu56fd","country_id":"US","area_id":"","area_id":"","re​​gion":"", "region_id":"","city":"","city_id":"","county":"","county_id":"","isp":"","isp_id":""," ip":"8.8.8.8"}}

上記の IE アドレスに直接入力しました。ここでは、php file_get_contents 関数を使用して取得します。

コードは次のとおりですコードをコピー
/**

* IPの地理的位置を取得します
*淘宝網IPインターフェース
* @Return: 配列
​*/
関数getCity($ip)
{
$url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;
$ip=json_decode(file_get_contents($url)); if((文字列)$ip->code=='1'){
false を返します;
}
$data = (配列)$ip->データ;
$データを返す
}

上記の理由は、タオバオからfile_get_contentsで返されたjson形式のデータがphpのjson_decode関数を使って配列に変換されているためです。


$IP アドレスは当社が提供する必要があります。これはユーザーの実際の IP アドレスを取得する関数です。

コードは次のとおりですコードをコピー 関数getIP()
{

静的 $realip;
If (isset($_SERVER)){
If (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$realip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$realip = $_SERVER["REMOTE_ADDR"];
}
} その他 {
If (getenv("HTTP_X_FORWARDED_FOR")){
$realip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$realip = getenv("HTTP_CLIENT_IP");
} else {
$realip = getenv("REMOTE_ADDR");
}
}


$realip を返します;
}


www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631546.html技術記事独自の IP ライブラリを使用して IP アドレスを保存したくない場合は、サードパーティの IP ライブラリを使用して取得することができます。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。