D
Inscrivez-vous Connecter Commencer Questions En suspens Etiquettes Demander php geolocation ip country-codes Ali Abdulkarim Salem avatar Obtenir le pays des visiteurs à partir de leur IP 5 Réponses résolu Je veux obtenir le pays des visiteurs via leur IP... Actuellement, j'utilise ceci ( http://api.hostip.info/country.php?ip= ...... ) Voici mon code : Eh bien, cela fonctionne correctement, mais le problème est que cela renvoie le code du pays comme US ou CA, et non le nom complet du pays comme États-Unis ou Canada. Alors, y a-t-il une bonne alternative à hostip.info qui propose cela ? Je sais que je peux écrire un code qui transformera éventuellement ces deux lettres en nom de pays entier, mais je suis trop paresseux pour écrire un code qui contienne tous les pays... P.S. : Pour une raison quelconque, je ne veux pas utiliser un fichier CSV tout prêt ou un code qui récupère ces informations pour moi, quelque chose comme le code et le CSV tout prêt de ip2country. Demandé el 23 de Septembre, 2012 par Ali Abdulkarim Salem 25 Avatar de Chris Henry Ne soyez pas paresseux, il n'y a pas tant de pays que ça, et il n'est pas très difficile d'obtenir une table de traduction des codes de lettres FIPS 2 en noms de pays. Commenté el 23 de Septembre, 2012 par Chris Henry 0 Avatar de iMat Utilisez la fonction geoip de Maxmind. Elle inclura le nom du pays dans les résultats. maxmind.com/app/php Commenté el 23 de Septembre, 2012 par iMat 0 Avatar de Walter Tross Votre première mission à $real_ip_address est toujours ignorée. Quoi qu'il en soit, n'oubliez pas que le X-Forwarded-For peut être très facilement contrefait et qu'il existe des proxies comme www.hidemyass.com. Commenté el 30 de Mars, 2014 par Walter Tross Afficher 2 autres commentaires Réponses Trop de publicités? Nakka Chandra avatar Nakka Chandra Points 1 Essayez cette simple fonction PHP. "Africa", "AN" => "Antarctica", "AS" => "Asia", "EU" => "Europe", "OC" => "Australia (Oceania)", "NA" => "North America", "SA" => "South America" ); if (filter_var($ip, FILTER_VALIDATE_IP) && in_array($purpose, $support)) { $ipdat = @json_decode(file_get_contents("http://www.geoplugin.net/json.gp?ip=" . $ip)); if (@strlen(trim($ipdat->geoplugin_countryCode)) == 2) { switch ($purpose) { case "location": $output = array( "city" => @$ipdat->geoplugin_city, "state" => @$ipdat->geoplugin_regionName, "country" => @$ipdat->geoplugin_countryName, "country_code" => @$ipdat->geoplugin_countryCode, "continent" => @$continents[strtoupper($ipdat->geoplugin_continentCode)], "continent_code" => @$ipdat->geoplugin_continentCode ); break; case "address": $address = array($ipdat->geoplugin_countryName); if (@strlen($ipdat->geoplugin_regionName) >= 1) $address[] = $ipdat->geoplugin_regionName; if (@strlen($ipdat->geoplugin_city) >= 1) $address[] = $ipdat->geoplugin_city; $output = implode(", ", array_reverse($address)); break; case "city": $output = @$ipdat->geoplugin_city; break; case "state": $output = @$ipdat->geoplugin_regionName; break; case "region": $output = @$ipdat->geoplugin_regionName; break; case "country": $output = @$ipdat->geoplugin_countryName; break; case "countrycode": $output = @$ipdat->geoplugin_countryCode; break; } } } return $output; } ?>

Posts les plus consultés de ce blog