根据当前ip地址获取地理位置

public function get_position(){
        $ip = $_SERVER['REMOTE_ADDR'];
        if(empty($ip)){
            x_json( 0,'缺少用户ip');
        }
        $url = 'http://ip.taobao.com/service/getIpInfo.php?ip='.$ip;
        $ipContent = file_get_contents($url);
        $ipContent = json_decode($ipContent,true); 
        x_json(1,['msg' =>$ipContent],'success'); 
    }

上面的是在网上找方法
下面是一个 获取ip地址的方法 也可以直接调下面的方法 获取ip

public function ip() {
        //strcasecmp 比较两个字符,不区分大小写。返回0,>0,<0。
        if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
            $ip = getenv('HTTP_CLIENT_IP');
        } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
            $ip = getenv('HTTP_X_FORWARDED_FOR');
        } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
            $ip = getenv('REMOTE_ADDR');
        } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
            $ip = $_SERVER['REMOTE_ADDR'];
        }
        $res =  preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';
        return $res;
        //var_dump(phpinfo());//所有PHP配置信息
    }

你可能感兴趣的:(php)