php兌現不同ip不同語言包(php兌現不同ip不同語言包的區別)

本文目錄一覽:

根據不同ip段 網站如何 來顯示不同的內容(php)

我仔細分析一下你的問題

1.首先要建一個IP對應學校的表realation

主要字段有id(自動增加),ip,school_name

然後你就將你知道的IP地址和學校輸入到此表中!

如:1 58.240.89.1 中華大學

2.這樣你在頁面獲得訪問者的IP地址語句如下:

if(getenv(‘HTTP_CLIENT_IP’)) {

$client_ip = getenv(‘HTTP_CLIENT_IP’);

} elseif(getenv(‘HTTP_X_FORWARDED_FOR’)) {

$client_ip = getenv(‘HTTP_X_FORWARDED_FOR’);

} elseif(getenv(‘REMOTE_ADDR’)) {

$client_ip = getenv(‘REMOTE_ADDR’);

} else {

$client_ip = $HTTP_SERVER_VARS[‘REMOTE_ADDR’];

}

不能單單只使用getenv(‘REMOTE_ADDR’)獲得IP,因為有客戶會使用代理服務器…

3.查詢數據庫,獲取表中記錄語句如下:

$link = mysql_connect(“localhost”, “數據庫用戶名”, “數據庫密碼”);//連接數據庫

mysql_select_db(“你的數據庫”);//選擇數據庫

$sql=”select * from relation”;

$set=mysql_query($sql);

//$row=mysql_fetch_arry($set); 得出所有記錄!

4.這個時候可以循環進行判斷了

while ($row = mysql_fetch_array($set)) {

if($clinet_IP==$row[‘ip’]){

echo “歡迎”.row[‘school_name’].”的同學來光臨!”

}

}

php根據來訪者不同IP顯示不同內容

像你這樣為每個ip訪問者保存一份搜索記錄,這樣太耗費資源了。因為訪問者的IP是會變的,而且訪問者多的話,這樣記錄是會死人的,如果你要是想做的話,建個訪問記錄表就可以了,不用每個ip建個表,字段有:訪問者ip,訪問者輸入的關鍵詞。沒見過你這樣按訪問者Ip來記錄搜索數據的,一般搞個熱搜關鍵詞、跟地區有關的關鍵詞就可以了。

php程序 js判斷ip地區根據不同ip輸出不同內容(商務通代碼)

不建議使用js進行這個處理,你這樣做的話完整過程為

1. 用戶訪問php頁面

2. 服務端輸出html

3. 瀏覽器運行js檢查ip所屬區域

4. ajax方式提交區域信息給服務器

5. 服務器返回查詢結果

6. js將查詢結果顯示到當前頁面

你想想這要多長時間。因此最好是php端直接判斷區域,然後直接查詢並輸出就行了。

提供一個php寫的函數,如果有用望採納

function getCityByUserIp() {

    $ip = false;

    if (isset($_SERVER)){

        if (isset($_SERVER[“HTTP_X_FORWARDED_FOR”])){

            $ip = $_SERVER[“HTTP_X_FORWARDED_FOR”];

        } else if (isset($_SERVER[“HTTP_CLIENT_IP”])) {

            $ip = $_SERVER[“HTTP_CLIENT_IP”];

        } else {

            $ip = $_SERVER[“REMOTE_ADDR”];

        }

    } else {

        if (getenv(“HTTP_X_FORWARDED_FOR”)){

            $ip = getenv(“HTTP_X_FORWARDED_FOR”);

        } else if (getenv(“HTTP_CLIENT_IP”)) {

            $ip = getenv(“HTTP_CLIENT_IP”);

        } else {

            $ip = getenv(“REMOTE_ADDR”);

        }

    }

    if (false === $ip) {

        return false;

    }

    $file = fopen(‘;ip=’ . $ip, ‘r’);

    $content = fread($file, 1024);

    fclose($file);

    if (! preg_match(“/^var remote_ip_info = (\\{[^\\}]+\\});$/”, $content, $_match)) {

        return false;

    }

    $ipInfo = json_decode($_match[1]);

    return $ipInfo;

}

返回的數組中包括 country, province, city等,如果返回false表示無法獲得ip或該ip沒有在大陸地區匹配的記錄(港澳台似乎有province,但是沒有city)。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/190763.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-30 09:06
下一篇 2024-11-30 09:06

相關推薦

  • Python中new和init的區別

    new和init都是Python中常用的魔法方法,它們分別負責對象的創建和初始化,本文將從多個角度詳細闡述它們的區別。 一、創建對象 new方法是用來創建一個對象的,它是一個類級別…

    編程 2025-04-29
  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 用不同的方法求素數

    素數是指只能被1和自身整除的正整數,如2、3、5、7、11、13等。素數在密碼學、計算機科學、數學、物理等領域都有着廣泛的應用。本文將介紹幾種常見的求素數的方法,包括暴力枚舉法、埃…

    編程 2025-04-29
  • Sublime Test與Python的區別

    Sublime Text是一款流行的文本編輯器,而Python是一種廣泛使用的編程語言。雖然Sublime Text可以用於編寫Python代碼,但它們之間有很多不同之處。接下來從…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字符命令行的語言…

    編程 2025-04-29
  • Python函數名稱相同參數不同:多態

    Python是一門面向對象的編程語言,它強烈支持多態性 一、什麼是多態多態是面向對象三大特性中的一種,它指的是:相同的函數名稱可以有不同的實現方式。也就是說,不同的對象調用同名方法…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • Web程序和桌面程序的區別

    Web程序和桌面程序都是進行軟件開發的方式,但是它們之間存在很大的區別。本文將從多角度進行闡述。 一、運行方式 Web程序運行於互聯網上,用戶可以通過使用瀏覽器來訪問它。而桌面程序…

    編程 2025-04-29
  • 從不同位置觀察同一個物體,看到的圖形一定不同

    無論是在平時的生活中,還是在科學研究中,都會涉及到觀察物體的問題。而我們不僅要觀察物體本身,還需要考慮觀察的位置對觀察結果的影響。從不同位置觀察同一個物體,看到的圖形一定不同。接下…

    編程 2025-04-28

發表回復

登錄後才能評論