重複の可能性:
php でユーザーの contry を検出するためのパッケージ?
IP アドレスに基づく地理的位置情報 - PHP
訪問者の国を検出したい。
Google で解決策を見つけましたが、結果は何もありません。
手伝って頂けますか?
重複の可能性:
php でユーザーの contry を検出するためのパッケージ?
IP アドレスに基づく地理的位置情報 - PHP
訪問者の国を検出したい。
Google で解決策を見つけましたが、結果は何もありません。
手伝って頂けますか?
訪問者のIPとともに国を取得する私の方法は次のとおりです。
// this is where you get the ip
$ip = $_SERVER['REMOTE_ADDR'];
// this is where you include the code that gets the country
// you can find the code for this file on the link below
include("geoiploc.php");
// this is where you create the variable that get you the name of the country
$country = getCountryFromIP($ip, " NamE ");
お役に立てれば。
コードがあなたと共にありますように!
アップデート:
これが私が使用している別の方法です
$json = file_get_contents('http://ipinfo.io/' . $this->getIP());
$data = json_decode($json);
return $data->country;
このサービスもありますが、上記のサービスの方がはるかに優れていることがわかりました...
'http://getcitydetails.geobytes.com/GetCityDetails?fqcn=' . $this->getIP()
IP を取得する良い方法は次のとおりです。
private function getIP() {
$server_keys = [
'HTTP_CLIENT_IP',
'HTTP_X_FORWARDED_FOR',
'HTTP_X_FORWARDED',
'HTTP_X_CLUSTER_CLIENT_IP',
'HTTP_FORWARDED_FOR',
'HTTP_FORWARDED',
'REMOTE_ADDR'
];
foreach ($server_keys as $key) {
if (array_key_exists($key, $_SERVER) === true) {
foreach (explode(',', $_SERVER[$key]) as $ip) {
if (filter_var($ip, FILTER_VALIDATE_IP) !== false) {
return $ip;
}
}
}
}
}
それが誰かを助けることを願っています!
<?php
// Author: www.easyjquery.com
$ip = $_SERVER['REMOTE_ADDR'];
// remember chmod 0777 for folder 'cache'
$file = "./cache/".$ip;
if(!file_exists($file)) {
// request
$json = file_get_contents("http://api.easyjquery.com/ips/?ip=".$ip."&full=true");
$f = fopen($file,"w+");
fwrite($f,$json);
fclose($f);
} else {
$json = file_get_contents($file);
}
$json = json_decode($json,true);
echo "<pre>";
print_r($json);
?>