PHP通过ip获取当前位置:

第一步:我们先到百度地图开放平台创建一个应用,然后拿到一个ak

第二步:直接上代码

/**
 * @author by ice <Email:2228550056@qq.com
 * @desc 获取当前ip
 * @funName get_ip
 * @createTime 2021-09-24 10:54
 * @return array|false|string
 */
public function getIp(){
    if (isset($_SERVER)) {
        if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
            $realip = $_SERVER['HTTP_X_FORWARDED_FOR'];
        } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
            $realip = $_SERVER['HTTP_CLIENT_IP'];
        } else {
            $realip = $_SERVER['REMOTE_ADDR'];
        }
    } else {
        if (getenv("HTTP_X_FORWARDED_FOR")) {
            $realip = getenv( "HTTP_X_FORWARDED_FOR");
        } elseif (getenv("HTTP_CLIENT_IP")) {
            $realip = getenv("HTTP_CLIENT_IP");
        } else {
            $realip = getenv("REMOTE_ADDR");
        }
    }
    return $realip;
}

/**
 * @author by ice <Email:2228550056@qq.com
 * @desc 通过ip获取地址
 * @funName getAddressByIp
 * @createTime 2021-09-24 10:55
 * @return void
 */
public function getAddressByIp()
{
    $ip=$this->getIp();
    $ak = '你自己的百度地图开放平台ak';
    $dourl = file_get_contents("http://api.map.baidu.com/location/ip?ip=$ip&ak=$ak");
    $result = json_decode($dourl,true);
    var_dump($result);
}

第三步:最终返回的信息是这样的

php通过ip获取当前位置(图1)