找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 444|回復: 2

PHP通過ip地址取得所在國家

[複製鏈接]

257

主題

38

回帖

1138

積分

管理員

積分
1138
發表於 2023-5-25 10:27:10 | 顯示全部樓層 |閱讀模式
function getLocationInfoByIp(){
    $client = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote = @$_SERVER['REMOTE_ADDR'];
    $result = array('country'=>'', 'city'=>'');
    if(filter_var($client, FILTER_VALIDATE_IP)){
        $ip = $client;
    }elseif(filter_var($forward, FILTER_VALIDATE_IP)){
        $ip = $forward;
    }else{
        $ip = $remote;
    }

    $ip_data = @json_decode
    (file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));

    if($ip_data && $ip_data->geoplugin_countryName != null){
        $result['country'] = $ip_data->geoplugin_countryCode;
        $result['city'] = $ip_data->geoplugin_city;
    }
    return $result;
}

257

主題

38

回帖

1138

積分

管理員

積分
1138
 樓主| 發表於 2023-5-25 10:27:16 | 顯示全部樓層

https://www.maxmind.com/

257

主題

38

回帖

1138

積分

管理員

積分
1138
 樓主| 發表於 2023-5-25 10:27:45 | 顯示全部樓層

http://ip-api.com/
您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|小黑屋|DoIT 科技論壇

GMT+8, 2025-6-15 10:50 , Processed in 0.035665 second(s), 19 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回復 返回頂部 返回列表