手機端訪問時調用Wap手機模塊,實現在手機端訪問時展示出手機網站,無需跳轉域名
首先我們在./Application/Common/Conf/ 目錄下建立兩個公共配置文件:config.php 和config_wap.php
config.php 中:
return?array(????'DEFAULT_MODULE'=>'Index',????'DEFAULT_CONTROLLER'=>'Index',????'DEFAULT_ACTION'=>'index',)復制代碼
config_wap.php 中:
return?array(????'DEFAULT_MODULE'=>'Wap',????'DEFAULT_CONTROLLER'=>'Index',????'DEFAULT_ACTION'=>'index',)復制代碼
然后在入口文件 index.php 中加入手機端判斷方法(建議放到最下面):
function?is_mobile_request(){????$_SERVER['ALL_HTTP']?=?isset($_SERVER['ALL_HTTP'])???$_SERVER['ALL_HTTP']?:?'';????$mobile_browser?=?'0';????if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i',?strtolower($_SERVER['HTTP_USER_AGENT'])))????????$mobile_browser++;????if((isset($_SERVER['HTTP_ACCEPT']))?and?(strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')?!==?false))????????$mobile_browser++;????if(isset($_SERVER['HTTP_X_WAP_PROFILE']))????????$mobile_browser++;????if(isset($_SERVER['HTTP_PROFILE']))????????$mobile_browser++;????????$mobile_ua?=?strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));????????$mobile_agents?=?array(????????????'w3c?','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',????????????'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',????????????'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',????????????'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',????????????'newt','noki','oper','palm','pana','pant','phil','play','port','prox',????????????'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',????????????'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',????????????'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',????????????'wapr','webc','winw','winw','xda','xda-'????????);?????if(in_array($mobile_ua,?$mobile_agents))??????????$mobile_browser++;?????if(strpos(strtolower($_SERVER['ALL_HTTP']),?'operamini')?!==?false)??????????$mobile_browser++;?????//?Pre-final?check?to?reset?everything?if?the?user?is?on?Windows???????if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),?'windows')?!==?false)??????????$mobile_browser=0;?????//?But?WP7?is?also?Windows,?with?a?slightly?different?characteristic???????if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),?'windows?phone')?!==?false)??????????$mobile_browser++;?????if($mobile_browser>0)????????????return?true;?????else??????????return?false;}復制代碼
然后,我們開始用關鍵的APP_STATUS來調用不同的模塊:
在index.php文件中的21行后面也就是“定義應用目錄”結束后,加入代碼:
if(is_mobile_request()){????define('APP_STATUS','config_wap');}else{????define('APP_STATUS','Index');}復制代碼
大功告成。
參考文檔:http://document.thinkphp.cn/manual_3_2.html#load_config
【推廣】?【選型推薦】0基礎1小時建站,滿足多種建站需求
【推廣】?ThinkPHP5.0 入門必讀系列 [ 官方出品 ]
轉載于:https://www.cnblogs.com/wzjwffg/p/9883845.html
總結
以上是生活随笔為你收集整理的TP3.2.x判断手机端访问并设置默认访问模块的方法 - ThinkPHP框架的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。