Maison >développement back-end >tutoriel php >Conseils de développement PHP : obtenez la ville en fonction de l'adresse IP
Le contenu de cet article est de partager avec vous des conseils de développement PHP pour obtenir la ville en fonction de l'adresse IP. Elle a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer
<.>
Nous utilisons encore assez souvent cette méthode pour faciliter la collecte d'informations pour l'analyse du data mining. Cette méthode obtient non seulement la ville actuelle en fonction de l'adresse IP, mais obtient également l'emplacement de la ville de l'utilisateur en fonction de la requête HTTP. Méthode de mise en œuvre : obtenez-le principalement sur la base de l'API Amap. Enregistrez-vous d'abord en tant qu'utilisateur Amap, puis authentifiez-vous en tant que développeur, créez une application et obtenez la clé à appeler. La méthode spécifique de mise en œuvre est la suivante :Recommandations associées :
<?php /** * ======================================= * Created by ZHIHUA·WEI. * Author: ZHIHUA·WEI * Date: 2018/4/12 * Time: 16:13 * Project: PHP开发小技巧 * Power: 根据ip地址获取城市 * ======================================= */ /** * 根据HTTP请求获取用户位置 */ function get_user_location() { $key = "4a218d0d82c3a74acf019b701e8c0ccc"; // 高德地图key $url = "http://restapi.amap.com/v3/ip?key=$key"; $json = file_get_contents($url); $obj = json_decode($json, true); // 转换数组 $obj["message"] = $obj["status"] == 0 ? "失败" : "成功"; return $obj; } /** * 根据 ip 获取 当前城市 */ function get_city_by_ip() { if (!empty($_SERVER["HTTP_CLIENT_IP"])) { $cip = $_SERVER["HTTP_CLIENT_IP"]; } elseif (!empty($_SERVER["HTTP_X_FORWARDED_FOR"])) { $cip = $_SERVER["HTTP_X_FORWARDED_FOR"]; } elseif (!empty($_SERVER["REMOTE_ADDR"])) { $cip = $_SERVER["REMOTE_ADDR"]; } else { $cip = ""; } $url = 'https://restapi.amap.com/v3/ip'; $data = array( 'output' => 'json', 'key' => '4a218d0d82c3a74acf019b701e8c0ccc', 'ip' => $cip ); $postdata = http_build_query($data); $opts = array( 'http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata ) ); $context = stream_context_create($opts); $result = file_get_contents($url, false, $context); if (!empty($result)) { $res = json_decode($result, true); if (!empty($res)) { if (count($res['province']) == 0) { $res['province'] = '北京市'; } if (!empty($res['province']) && $res['province'] == "局域网") { $res['province'] = '北京市'; } if (count($res['city']) == 0) { $res['city'] = '北京市'; } } else { $res['province'] = '北京市'; $res['city'] = '北京市'; } return $res; } else { return array( "province" => '北京市', "city" => '北京市' ); } }
Jugement de PHP conseils de développement Que ce soit pour accéder via WeChat
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!