iT邦幫忙

2

如何偵測使用者的所在地

請教各位先進

我的網站想要根據使用者的所在地(上網地)來呈現不同的預設選項
請問有什麼方法可以做到?判斷使用者的國家和城市,或是至少國家

感謝

外獅佬 iT邦大師 1 級 ‧ 2015-03-23 10:12:51 檢舉
打電話問毆飛
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
9
老鷹(eagle)
iT邦高手 1 級 ‧ 2015-03-22 22:12:14

您好,我這邊有找到兩篇文章可以幫助到你!
1.如何正確的取得使用者 IP?
2.以PHP Script查詢 IP 地址對應之相關資訊(國家、城市、ISP、Domain Name等)

希望有幫助到您~!

兩個結合在一起的用法

<pre class="c" name="code"><?php
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
    $myip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $myip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
    $myip = $_SERVER['REMOTE_ADDR'];
}

$contry = file_get_contents('http://api.hostip.info/country.php?ip=' . $myip);
echo $contry;

包成函數長這樣

<pre class="c" name="code"><?php

function get_ip_country()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $myip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $myip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $myip = $_SERVER['REMOTE_ADDR'];
    }

    $contry = file_get_contents('http://api.hostip.info/country.php?ip=' . $myip);
    return $contry;
}
2
hcsvieken
iT邦研究生 4 級 ‧ 2015-03-24 10:43:39

抓取系統設定的語係呢?

您可以試試看這個

<pre class="c" name="code">
$_SERVER['HTTP_ACCEPT_LANGUAGE']

我要發表回答

立即登入回答