Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日本一区二区视频,97精品国产91久久久久久,国内外一级毛片

          整合營銷服務商

          電腦端+手機端+微信端=數(shù)據(jù)同步管理

          免費咨詢熱線:

          波哥教你仿58同城網(wǎng)站實現(xiàn)城市自動切換

          波哥教你仿58同城網(wǎng)站實現(xiàn)城市自動切換

          昨天的分享中,波波為大家分享了通過IP定位到用戶的城市,今天我們換一種方法來實現(xiàn),根據(jù)用戶城市不同,讓網(wǎng)站自動切換不同的城市。

          關于這個問題其實實現(xiàn)起來不復雜,不過波波思考了幾天,原因在于上次分享內(nèi)容用的是淘寶的api,而在淘寶的返回數(shù)據(jù)中城市只有漢字和citycode,所以使用起來尤其對于初學者極其不方便。所以我們這次使用高德地圖的api。

          高德地圖API根據(jù)IP定位接口返回的數(shù)據(jù)中每個城市都有一個adcode,其實這個adcode是郵政編碼,所以實現(xiàn)的話,我們首先給網(wǎng)站后臺建立一個數(shù)據(jù)表,我們命名為citycode,表中需要至少兩個字段,一個是郵政編碼,一個是簡稱,比如"鄭州",在數(shù)據(jù)庫中存儲數(shù)據(jù)為"zz",當然了大家可以隨意定義,我這里只是為了講解方便。

          第一步,獲取用戶的IP地址,教程請參考《如何通過IP地址定位用戶的位置》。

          第二步,根據(jù)ip地址獲取用戶所在城市的郵政編碼。源碼如下:

          /*高德地圖IP定位*/

          function IP2Location($ip,$para){

          //高德的IP定位返回數(shù)據(jù)較少,如需詳細定位信息可使用淘寶接口。

          $str="output=json&ip=".$ip."&key=".$para;

          $url="http://restapi.amap.com/v3/ip?".$str;

          $content=file_get_contents($url);

          $data=json_decode($content,true);

          return $data;

          }

          需要說明的是函數(shù)IP2Location($ip,$para)中$para傳的是你在高德開放平臺申請的webService的key值。不是JSapi的那個接口哦,不然沒有數(shù)據(jù)不要說波波代碼有問題。

          調(diào)用的時候只需要寫一句:$location=IP2Location($ip,$key);就可以了。

          第三步,查詢數(shù)據(jù)庫實現(xiàn)跳轉。代碼如下:

          $row=$mysql->query("select * from `citycode` where `adcode`='{$location['adcode']}'limit 1");

          if($row){

          $url="http://".$row['簡寫的字段名'].".域名";

          //拼接出來的網(wǎng)址類似http://zz.58.com,這里僅僅是舉例,非特定58.請知悉

          echo "<!--<script language='javascript' type='text/javascript'>";

          echo "window.location.href='$url'";

          echo "</script>-->";

          }

          通過上面的代碼已經(jīng)實現(xiàn)了根據(jù)用戶IP地址自動切換網(wǎng)站城市的目的,但是如果僅僅這樣并不完善,對于一個大型網(wǎng)站來講代碼開發(fā)還應該具備糾錯功能。以上分享僅供交流學習。

          多大型信息平臺,如58同城,百姓網(wǎng)等都會有全國地區(qū)分站,比如我廣州的,打開58同城會自動進入廣州分站。

          現(xiàn)在很多做網(wǎng)站的站長和網(wǎng)站建設公司都會采用pageadmin這類網(wǎng)站系統(tǒng)來建站,pageadmin是支持站群的,下面演示如何實現(xiàn)58同城的地區(qū)跳轉功能。

          1、首先需要一個iP識別接口,這里可以到阿里云去申請,我們也可以用淘寶的免費api接口,阿里云的接口返回信息格式如下。

          {"code":0,"data":{"ip":"210.73.44.249","country":"中國","area":"","region":"廣東","city":"廣州","county":"XX","isp":"科技網(wǎng)","country_id":"CN","area_id":"","region_id":"440000","city_id":"440100","county_id":"xx","isp_id":"1000114"}}
          

          下面我們通過ajax請求的方式來獲取到歸屬信息實現(xiàn)跳轉,代碼如下:

          <script type="text/javascript">
          var clientIp="@StringHelper.GetClientIP()";//調(diào)用pageadmin的內(nèi)置方法獲取ip地址
          var api="http://ip.taobao.com/service/getIpInfo.php";
          $(function () {
           $.ajax({
           url: api,
           type: "GET",
           dataType: "json", //指定服務器返回的數(shù)據(jù)類型
           data: { ip: clientIp },
           success: function (ipData) {
           ipData=JSON.parse(ipData);
           var city=ipData.data.city;
           cityDomain(city) //調(diào)用城市判斷函數(shù)
           }
           });
          });
          //城市判斷函數(shù)
           function cityDomain(city) {
           var domain="www.58.com"; //換成自己的域名
           switch (city) {
           case "廣州":
           domain="guangzhou.58.com";
           break;
           case "北京":
           domain="beijing.58.com";
           break;
           case "其他地區(qū)一一判斷":
           //更多
           break;
           }
           location.href="domain";
          }
          </script>
          
          

          域名跳轉這部分可以在pageadmin的后臺建一個分類表來實現(xiàn),這樣就可以實現(xiàn)后臺控制,如下圖:

          添加一個自定義字段domain,這樣就可以通過后臺來控制地區(qū)和域名的對應,以后如果有變動直接通過后臺修改即可,我這里添加了幾條演示數(shù)據(jù),效果如下。

          通過點擊添加和修改就可以實現(xiàn)地區(qū)和域名的后臺控制,相比直接在模板中寫死,是不是方便了很多。


          者:Aaron

          轉發(fā)鏈接:https://segmentfault.com/a/1190000022781346


          主站蜘蛛池模板: 日韩综合无码一区二区| 欧美人妻一区黄a片| 国产精品一区二区久久精品涩爱| 中文字幕日韩一区二区不卡 | 亚洲一区二区三区高清不卡 | 国产精品视频一区二区三区四| 国产一区二区精品尤物| 无码国产伦一区二区三区视频| 亚洲日韩AV无码一区二区三区人| 老熟女高潮一区二区三区| 精品一区二区ww| 日本一区视频在线播放| 变态调教一区二区三区| 免费视频一区二区| 色狠狠色狠狠综合一区| 一本一道波多野结衣AV一区| 成人精品一区二区户外勾搭野战| 国产亚洲一区二区三区在线不卡| 无码精品人妻一区二区三区免费看| 亚洲国产精品自在线一区二区 | 免费视频精品一区二区三区| 亚洲一区二区三区自拍公司| 久久精品岛国av一区二区无码| 亚洲成AV人片一区二区密柚| 亚洲大尺度无码无码专线一区| 亚洲色偷精品一区二区三区| 国产精品污WWW一区二区三区| 亚洲日韩精品无码一区二区三区| 中文字幕精品一区二区2021年 | 亚洲一区二区三区在线观看蜜桃 | 成人国内精品久久久久一区| 久久久久人妻一区二区三区| 无码少妇A片一区二区三区| 久久精品中文字幕一区| 秋霞无码一区二区| jizz免费一区二区三区| 亚洲视频一区二区三区| 在线视频一区二区三区四区| 国产一区二区三区福利| 国产成人无码一区二区三区在线 | 波多野结衣电影区一区二区三区 |