首頁 > 後端開發 > php教程 > 使用MaxMind 根據IP位址對訪客定位_PHP教學課程

使用MaxMind 根據IP位址對訪客定位_PHP教學課程

WBOY
發布: 2016-07-21 16:09:52
原創
1113 人瀏覽過

    有時你需要知道你的網站訪客來自哪個國家-例如如果你正打算執行針對地理區域的廣告計畫。本文將對此方法進行介紹。

    有時你需要知道你的網站訪客來自哪個國家-例如如果你正打算執行針對地理區域的廣告計畫。這正是像MaxMind's GeoIP一類的工具大顯身手的地方——它可以讓你從訪客的IP位址輕鬆取得其確切的地理位置資訊。

    MaxMind提供了商業資料庫和免費資料庫。前者較為精確,精度可以達使用者所在城市資訊一級,而後者則只能確定國家和地區。在本文中,我們將示範免費版的使用方法。如果你需要更多詳細信息,例如遠端客戶的城市以及國家信息,你需要從MaxMind:http://www.maxmind.com購買更詳細的資料庫。

    起步

    要使用此軟體,你必須先下載GeoIP免費國家資訊檔案:http://www.maxmind.com/app/geoip_country 並將其存放於Web伺服器的某伺服器個目錄中。然後你需要選擇資料庫檔案所使用的語言API。為簡化整個過程,我們將使用純粹的PHP版本以避免其他額外的配置或設定Apache元件。請記得在安裝軟體到Web網站前閱讀軟體授權條款:http://www.maxmind.com/download/geoip/database/LICENSE.txt以確保你同意這些條款。

程式碼清單A

// include functions

include("geoip.inc");

include("geoip.inc");

$handle = geoip_open("GeoIP.dat", GEOIP_STANDARD);

// map IP to country


echo "IP 16320. in " . geoip_country_name_by_addr($handle, "62.149.130.132") . " (country code " . geoip_country_code_by_addr($handle, "62.149.130.132") . ")"$handle, "62.149.130.132") .""; >// www.knowsky.com

geoip_close($handle);

// print compulsory license notice

echo "

-- Thislicense notice

echo "

-- This product includesIP data created by MaxMind, available from http://maxmind.com/ --";

?>

清單A中的程式碼顯示了使用模組(geoip.inc)以存取GeoIP免費國家資訊資料庫(GeoIP.dat)的基本方法。範例假設PHP include和國家家資訊資料庫檔案都在與PHP檔案本身相同的目錄中。如果範例與你的安裝不同,則需要根據需要改變路徑。

範例程式碼相當明了,在引入GeoIP PHP函式庫後,第一步即使用geoip_open()函數開啟GeoIP資料庫檔案。此函數接收兩個參數:資料庫檔案路徑和資料庫類型。

我們接著使用由呼叫geoip_open()傳回的句柄,由此根據所給的IP位址以取得兩個字母的國家代碼及直觀的國家名稱。其中也要分別借助函數geoip_country_code_by_addr()和geoip_country_code_by_name()。二者都接收兩個參數:由geoip_open()傳回的句柄以及需要解析的IP位址。

一旦獲得所需信息,我們透過呼叫geoip_close()關閉資料庫檔案。

所做的就是這麼簡單。

http://www.bkjia.com/PHPjc/314451.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/314451.htmlTechArticle
有時你需要知道你的網站訪客來自哪個國家-例如如果你打算執行針對地理區域的廣告計劃。本文將對此方法進行介紹。 有時需要...
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板