亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > PHP > 正文

在WordPress中使用PHP腳本來判斷訪客來自什么國家

2024-05-04 23:40:51
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了在WordPress中使用PHP腳本來判斷訪客來自什么國家的方法,同時也可以調用文中所介紹的國內網站所提供的API來查詢,需要的朋友可以參考下
 

區分訪客國家有什么用?

這里是幾個我利用該功能的例子.

1.區分網站功能
這個博客有翻譯文章的功能, 這是為了方便海外訪客閱讀文章, 但對中國人顯得十分多余. 所以我通過 IP 判斷國家, 對中國大陸地區屏蔽翻譯功能.

2.區分展示廣告
比如中國大陸地區在側邊欄最下方看到的是拿福能的廣告, 而其他地區看到的是 Google 的廣告. hostucan 是我的一個廣告主, 有英文網站, 也有中文網站, 所以我可以向他提供區分展示服務, 免得浪費流量.

3.屏蔽布點服務
海外有很多好的服務平臺, 在網站上布點即可采集數據和分享文章. 但很不幸, 因為某些原因, 他們在國內展示效果并不好, 不但沒有起到應有效果, 還讓頁面加載時間變長. 可以對大陸訪客屏蔽這些布點.

在 PHP 通過 IP 區分國家

如何用 PHP 通過 IP 區分國家和地區呢? Maxmind.com 提供一套 GeoIP 的解決方案, 只需要簡單幾步即可在 PHP 中通過 IP 判斷訪客的國家.

1. 下載數據庫和 PHP 庫文件

下載 GeoID.dat.gz, 解壓為 GeoIP.dat 文件.
下載 geoip.inc.
2. 通過 PHP 代碼獲取國家信息
以下是一段示范代碼, 演示如何獲取國家代號和國家名稱.

<?php // 引入 PHP 庫文件include("geoip.inc"); // 打開本地數據庫, 數據保存在 GeoIP 文件中.$geoData = geoip_open('GeoIP.dat', GEOIP_STANDARD); // 獲取國家 IP$countryCode = geoip_country_code_by_addr($geoData, $_SERVER['REMOTE_ADDR']); // 獲取國家名稱$countryName = geoip_country_name_by_addr($geoData, $_SERVER['REMOTE_ADDR']); // 關閉本地數據庫geoip_close($geoData); ?>

在 WordPress 中通過 IP 區分國家

既然 PHP 上使用沒問題, WordPress 肯定也是 Okay 的. 看看我是怎么使用的.

1. 放置數據庫文件
將 GeoIP.dat 解壓到 WordPress 根目錄中. (你可以在這個目錄找到 wp-config.php 或者 wp-config-sample.php 文件)

2. 編寫調用接口
在主題目錄中新建文件夾 include, 將 geoip.inc 放置在新建文件夾中. 并在該文件夾新建文件 geoip.php 文件內容如下.

<?php include('geoip.inc'); global $countryCode; $geoData = geoip_open('GeoIP.dat', GEOIP_STANDARD);$countryCode = geoip_country_code_by_addr($geoData, $_SERVER['REMOTE_ADDR']);geoip_close($geoData); ?>

這里只取國家代號作為判別依據. 并且國家代號是全局變量, 以避免頁面多處判斷需要反復訪問 GeoIP.dat 獲取信息, 減少程序開銷.

2. 調用接口, 獲取國家代號
3. 打開 header.php 文件, 在文件頂部加入代碼如下.

<?php include('include/geoip.php'); ?>

4. 使用國家代號
在主題中調用代碼, 例子如下.

<?php global $countryCode; if($countryCode == 'CN') { // 中國大陸地區執行的代碼} else if($countryCode == 'US') { // 美國地區執行的代碼} else { // 中國大陸和美國以外地區執行的代碼} ?>


可能有人會問, 加這么個東西, 性能如何? 會不會要求強大的服務器? 我測試過, 正常的服務器上幾乎不影響頁面加載性能, 可以看看這個博客的速度. 如果不放心, 自己測一下.

PS:采用IP查詢API接口
國內不少互聯網公司例如騰訊、新浪以及淘寶都有IP查詢接口,直接調用查詢即可。

(1)騰訊IP分享計劃

復制代碼代碼如下:

/**根據騰訊IP分享計劃的地址獲取IP所在地,比較精確*/function getIPLoc_QQ($ip1){$url = 'http://ip.qq.com/cgi-bin/searchip?searchip1='.$ip1;$ch = curl_init($url);curl_setopt($ch,CURLOPT_ENCODING ,'gb2312');curl_setopt($ch, CURLOPT_TIMEOUT, 10);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 獲取數據返回$result = curl_exec($ch);$result = mb_convert_encoding($result, "utf-8", "gb2312"); // 編碼轉換,否則亂碼curl_close($ch);preg_match("@<span>(.*)</span></p>@iU",$result,$ipArray);$loc = $ipArray[1];return $loc;}

 

(2)新浪IP查詢接口

復制代碼代碼如下:

/**根據新浪IP查詢接口獲取IP所在地*/function getIPLoc_sina($ip1){$url = 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=json&ip='.$ip1;$ch = curl_init($url);//curl_setopt($ch,CURLOPT_ENCODING ,'utf8');curl_setopt($ch, CURLOPT_TIMEOUT, 10);curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ; // 獲取數據返回$location = curl_exec($ch);$location = json_decode($location);curl_close($ch); $loc = "";if($location===FALSE) return "";if (emptyempty($location->desc)) {$loc = $location->province.$location->city.$location->district.$location->isp;}else{$loc = $location->desc;}return $loc;}

 

(3)使用淘寶IP接口

復制代碼代碼如下:

/** * 根據淘寶IP查詢接口獲取IP所在地 */function getCity($ip){$url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;$ip=json_decode(file_get_contents($url));if((string)$ip->code=='1'){ return false; } $data = (array)$ip->data;return $data;}

 


總結

通過 IP 判斷訪客來源十分精準的, 現在一些外貿網站都是通過這個方法向用戶進行展示區分, 比如美國地區的用戶默認看到美國能買到的商品和美國物流信息. 但不是百分之百的準確, 比如某人常年翻墻, 那他可能一直看不到本國的信息. 至于是否需要區分處理, 網站主要有所考慮.



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久五月天色综合| 久久精品国产91精品亚洲| 日韩免费中文字幕| 国产亚洲精品久久久| 久久人人爽人人爽人人片av高请| 国产精品一区久久| 成人免费视频97| 日韩美女av在线免费观看| 日韩成人黄色av| 色偷偷88888欧美精品久久久| 亚洲性xxxx| 亚洲天堂成人在线视频| wwwwwwww亚洲| 色妞欧美日韩在线| 性色av一区二区三区红粉影视| 亚洲激情在线观看视频免费| 日韩免费黄色av| 在线视频欧美日韩精品| 亚洲男人天堂2019| 欧美夫妻性视频| 日韩精品在线播放| www.国产精品一二区| 中文字幕精品视频| 高清欧美性猛交xxxx黑人猛交| 色与欲影视天天看综合网| 国产视频亚洲视频| 91精品一区二区| 91久久精品一区| 国产成人亚洲精品| 在线看日韩欧美| 日韩欧美在线中文字幕| 国产国语刺激对白av不卡| 91精品国产高清久久久久久91| 成人精品网站在线观看| 国产日韩精品综合网站| 亚洲精品视频网上网址在线观看| 成人黄色片网站| 热re91久久精品国99热蜜臀| 亚洲欧美日本伦理| 日韩av在线天堂网| 国产a级全部精品| 国产成人精品亚洲精品| 2018中文字幕一区二区三区| 中文字幕精品视频| 最新亚洲国产精品| 国产成人精品一区二区三区| 91香蕉嫩草神马影院在线观看| 成人亲热视频网站| 91免费的视频在线播放| 亚洲xxxx做受欧美| 日韩精品免费一线在线观看| 亚洲欧美在线看| 欧美电影免费观看高清完整| 国产不卡一区二区在线播放| 久久久久久久久久久久久久久久久久av| 亚洲第一级黄色片| 亚洲自拍偷拍第一页| 亚洲毛片在线免费观看| 日本19禁啪啪免费观看www| 色www亚洲国产张柏芝| 久久亚洲私人国产精品va| 亚洲最新视频在线| 亚洲欧美日韩中文在线制服| 久久久精品中文字幕| 在线观看不卡av| 91国产一区在线| 色综合久久久久久中文网| 国产精品丝袜久久久久久高清| 亚洲乱码一区av黑人高潮| 国模视频一区二区| 亚洲另类图片色| 国产精品成人av在线| 日韩av网站在线| 91在线观看免费高清完整版在线观看| 国产在线观看一区二区三区| 亚洲人在线观看| 欧美日韩成人在线观看| 欧美另类极品videosbest最新版本| 亚洲黄色在线看| 久久久久亚洲精品| 欧美精品一区三区| 亚洲免费av电影| 色琪琪综合男人的天堂aⅴ视频| 精品人伦一区二区三区蜜桃网站| 亚洲精品一二区| 国产97人人超碰caoprom| 在线播放精品一区二区三区| 中文字幕亚洲无线码在线一区| www.久久久久| 亚洲欧美日韩精品久久亚洲区| 热久久美女精品天天吊色| 久久天天躁狠狠躁夜夜av| 国产视频精品免费播放| 精品亚洲aⅴ在线观看| 国内成人精品视频| 中文字幕国产亚洲| 色综合老司机第九色激情| 国产精品69久久| 亚洲综合一区二区不卡| 96国产粉嫩美女| 日韩精品免费视频| 富二代精品短视频| 欧美在线日韩在线| 日韩精品久久久久| 国产精品久久婷婷六月丁香| 456亚洲影院| 国产91色在线播放| 国产+成+人+亚洲欧洲| 亚洲在线免费视频| 日韩av电影免费观看高清| 欧美日韩国产一中文字不卡| 精品久久久在线观看| 亚洲黄色www| 欧美性xxxxxxx| www.日韩视频| 日韩av免费看网站| 午夜精品久久久久久久久久久久久| 欧美丰满片xxx777| 最新国产精品亚洲| 精品久久久一区二区| 久久久久久久国产精品| 久久99热精品这里久久精品| 97人人爽人人喊人人模波多| 国产亚洲在线播放| 97精品久久久中文字幕免费| 亚洲日本欧美中文幕| 亚洲国产精品视频在线观看| 91在线观看免费高清| 欧美与黑人午夜性猛交久久久| 色综合天天狠天天透天天伊人| 国产suv精品一区二区三区88区| 日韩av一区在线观看| 夜色77av精品影院| 国产精品日韩在线观看| 欧美日韩第一视频| 欧美成人精品在线播放| 国内精品一区二区三区四区| 国产精品三级美女白浆呻吟| 一区二区三区国产视频| 欧美极品少妇与黑人| 这里只有精品在线播放| 日本免费一区二区三区视频观看| 久久久91精品国产一区不卡| 国产成人一区二区三区电影| 国产免费一区二区三区在线观看| 久久久精品一区二区三区| 精品女厕一区二区三区| 成人国产在线视频| 黑人巨大精品欧美一区二区| 亚洲精品一区av在线播放| 精品日本高清在线播放| 日韩电影网在线| 欧美大片免费观看在线观看网站推荐| 国产精品吴梦梦| 97在线日本国产| 日韩久久免费视频| 日韩在线播放av| 两个人的视频www国产精品| 亚洲精品视频久久| 欧美丰满少妇xxxxx做受| 欧洲美女7788成人免费视频| 亚洲午夜精品久久久久久久久久久久| 日韩不卡在线观看| 国产精品久久久久秋霞鲁丝|