• 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; }
  • 相关阅读:
    第2阶段冲刺2
    第2阶段冲刺1
    在Ubuntu下安装VWMare tools
    mysql命令行修改密码
    Ubuntu设置环境变量
    java输出程序运行时间
    Hadoop之环境搭建
    MapReduce实现WordCount
    大数据技术之kettle(2)——练习三个基本操作
    大数据技术之kettle(1)——安装
  • 原文地址:https://www.cnblogs.com/LF-place/p/13545937.html
Copyright © 2020-2023  润新知