zoukankan      html  css  js  c++  java
  • php ip 城市(百度地图)

    注:前往百度地图api开放平台登录

      在控制台创建一个应用

      拿到访问应用的AK

    代码:

    function getClientIP()
        {
            $realip = '';
            $unknown = 'unknown';
            if (isset($_SERVER)){
            if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && !empty($_SERVER['HTTP_X_FORWARDED_FOR']) && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown)){
            $arr = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
            foreach($arr as $ip){
            $ip = trim($ip);
            if ($ip != 'unknown'){
            $realip = $ip;
            break;
            }
            }
            }else if(isset($_SERVER['HTTP_CLIENT_IP']) && !empty($_SERVER['HTTP_CLIENT_IP']) && strcasecmp($_SERVER['HTTP_CLIENT_IP'], $unknown)){
            $realip = $_SERVER['HTTP_CLIENT_IP'];
            }else if(isset($_SERVER['REMOTE_ADDR']) && !empty($_SERVER['REMOTE_ADDR']) && strcasecmp($_SERVER['REMOTE_ADDR'], $unknown)){
            $realip = $_SERVER['REMOTE_ADDR'];
            }else{
            $realip = $unknown;
            }
            }else{
            if(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), $unknown)){
            $realip = getenv("HTTP_X_FORWARDED_FOR");
            }else if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), $unknown)){
            $realip = getenv("HTTP_CLIENT_IP");
            }else if(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), $unknown)){
            $realip = getenv("REMOTE_ADDR");
            }else{
            $realip = $unknown;
            }
            }
            $realip = preg_match("/[d.]{7,15}/", $realip, $matches) ? $matches[0] : $unknown;
            return $realip;
        }
        //获取所在城市
        public function getCity()
        {
            // 获取当前位置所在城市
            $getIp = $this->getClientIP();
         // url中的ak参数换成 百度地图api开放平台中拿到的AK $content
    = file_get_contents("http://api.map.baidu.com/location/ip?ak={$ak}&ip={$getIp}&coor=bd09ll"); $json = json_decode($content); $address = $json->{'content'}->{'address'};//按层级关系提取address数据 $data['address'] = $address; $return['province'] = mb_substr($data['address'],0,3,'utf-8'); $return['city'] = mb_substr($data['address'],3,3,'utf-8'); return $return; }
  • 相关阅读:
    总结一些css加载动画
    写日历的一些总结(三)
    写日历的一些总结(二)
    写日历的一些总结
    兼容性问题总结(转)
    关于npm(转)
    关于NaN
    面向对象与原型
    git命令
    python django 数据库树形菜单的设计
  • 原文地址:https://www.cnblogs.com/LF-place/p/13545937.html
Copyright © 2011-2022 走看看