使用GeoIP和PHP構建一個簡單的MySQL地理數據庫

- 中國WEB開發者網絡 (http://www.webasp.net)
-- 技術教程 (http://www.webasp.net/article/)
--- 使用GeoIP和PHP構建一個簡單的MySQL地理數據庫 (http://www.webasp.net/article/13/12400.htm)
-- 作者:未知
-- 發佈日期: 2004-08-18
MaxMind的GeoIP是一個非常有用的工具,用來識別你Web網站訪問者的所在國家。但是一旦擁有了這一地理信息,你又應該來處理它呢?這種數據的一個常見應用就是針對地理位置發佈的廣告。

使用GeoIP的數據


基本的步驟相當簡單——你讀取訪問者的遠程IP地址,(使用GeoIP映射數據庫)將這個地址映射成為一個國家代碼,然後利用這個國家代碼來顯示針對該國設計的廣告條。列表A是一段顯示了這些步驟的PHP示例腳本。

這段腳本假設你有一個MySQL數據庫,其中包含有廣告條的列表,並根據國家代碼進行索引。一旦通過專門的$REMOTE_ADDR變量取得了客戶的IP,這個IP就可以被映射成為國家代碼。然後我們就利用這個國家代碼從廣告條列表裡隨機選擇一個針對該國的廣告條。

這裡要特別注意SQL查詢——它首先會取回與國家代碼相匹配的所有記錄(廣告條),而國家需要由geoip_country_code_by_addr()方法返回,然後從各個廣告條中隨機選擇一個。(被選中)廣告條的對應文件名就會被動態地插到HTML頁面裡。如果你願意的話,你可以通過這個唯一的廣告條ID進一步把廣告條與點擊跟蹤腳本結合在一起,從而統計出你的廣告系統是否成功有效。

地理數據的其他用處
有針對性的廣告宣傳是地理數據庫最常見的一個應用。然而,你還可以使用這一信息針對(不同的)用戶精確地提供其他類型的內容:天氣預報、證券信息、新聞頭條等等。

你也可以通過其他方式來使用這一數據,例如,把用戶重新引導到用他們本地語言編寫的內容,根據用戶所處位置來限制/賦予他們訪問權限,或者自動地調整購物車的顯示,以便使用當地的貨幣。我會把這項技術創新應用的發現權留給你。



webasp.net