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":"","region":"", "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 を返します;
}
|
http://www.bkjia.com/PHPjc/631546.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/631546.html技術記事独自の IP ライブラリを使用して IP アドレスを保存したくない場合は、サードパーティの IP ライブラリを使用して取得することができます。 ...