PHP判斷是否手機端或PC端訪問
1.在PublicController控制器中寫好判斷手機端方法。
<?php namespace HomeController; use ThinkController; class PublicController extends Controller { //判斷是否是手機端還是電腦端 function isMobile(){ // 如果有Http_X_WAP_PROFILE則一定是移動裝置 if (isset ($_SERVER[`HTTP_X_WAP_PROFILE`])){ return true; } // 如果via資訊含有wap則一定是移動裝置,部分服務商會遮蔽該資訊 if (isset ($_SERVER[`HTTP_VIA`])){ // 找不到為flase,否則為true return stristr($_SERVER[`HTTP_VIA`], "wap") ? true : false; } // 腦殘法,判斷手機傳送的客戶端標誌,相容性有待提高 if (isset ($_SERVER[`HTTP_USER_AGENT`])){ $clientkeywords = array (`nokia`, `sony`, `eriCSSon`, `mot`, `samsung`, `htc`, `sgh`, `lg`, `sharp`, `sie-`, `philips`, `panasonic`, `alcatel`, `lenovo`, `iphone`, `ipod`, `blackberry`, `meizu`, `android`, `netfront`, `symbian`, `ucweb`, `windowsce`, `palm`, `operamini`, `operamobi`, `openwave`, `nexusone`, `cldc`, `midp`, `wap`, `mobile` ); // 從HTTP_USER_AGENT中查詢手機瀏覽器的關鍵字 if (preg_match("/(" . implode(`|`, $clientkeywords) . ")/i", strtolower($_SERVER[`HTTP_USER_AGENT`]))){ return true; } } // 協議法,因為有可能不準確,放到最後判斷 if (isset ($_SERVER[`HTTP_ACCEPT`])){ // 如果只支援wml並且不支援HTML那一定是移動裝置 // 如果支援wml和html但是wml在html之前則是移動裝置 if ((strpos($_SERVER[`HTTP_ACCEPT`], `vnd.wap.wml`) !== false) && (strpos($_SERVER[`HTTP_ACCEPT`], `text/html`) === false || (strpos($_SERVER[`HTTP_ACCEPT`], `vnd.wap.wml`) < strpos($_SERVER[`HTTP_ACCEPT`], `text/html`)))){ return true; } } return false; } }
2.在PHP控制器 IndexController.class.php中繼承該方法:
<?php namespace HomeController; use ThinkController; class IndexController extends PublicController { function __construct(){ //構造方法 parent::__construct(); }
3.在方法中呼叫並例項化:
/*使用者首頁*/ public function Personal(){ $mobile = parent::isMobile(); //例項化該方法 if($mobile=="true"){ $this->display(Personal); }else{ $this->display(Wap_Personal); } }
相關文章
- PHP判斷是手機移動端訪問還是PC端訪問的函式PHP函式
- php判斷終端型別(手機與pc)PHP型別
- 判斷當前訪問的使用者是 PC端 還是 手機端
- 【ASP】判斷是否是手機訪問
- js 判斷是手機訪問,還是pc訪問JS
- Middleware 判斷當前是否手機端瀏覽器,並跳轉到手機端的介面瀏覽器
- nginx 判斷移動端或者 PC 端 進入不同專案Nginx
- 雲伺服器ASP判斷客戶端是手機或電腦程式碼伺服器客戶端
- 判斷在移動端還是PC開啟
- mui 判斷手機客戶端是否安裝微信或支付寶或淘寶等,mui 獲取微信、支付寶支付通道UI客戶端
- 判斷ssh遠端命令是否執行結束
- php下利用curl判斷遠端檔案是否存在的實現程式碼PHP
- telnet檢視遠端機器埠是否可以訪問
- JavaScript判斷手機、平板電腦客戶端程式碼JavaScript客戶端
- js判斷是否移動端及瀏覽器核心JS瀏覽器
- 模擬ip訪問(附模擬手機訪問)遠端地址
- ASP.NET判斷是否為手機登入ASP.NET
- 如何判斷頁面是pc端還是移動端,進入不同的頁面
- 移動端的判斷
- vue 判斷使用者處於手機還是PCVue
- 解決手機端和 PC 端跳轉不同頁面
- PHP 判斷一個字元是否在字串中PHP字元字串
- PHP判斷一個字串是否包含亂碼PHP字串
- JSP中String a = request.getParameter(“ “),判斷a是否為null或空的問題JSNull
- C語言的判斷機器的大小端C語言
- ASP.NET CORE中判斷是否移動端開啟網頁ASP.NET網頁
- 如何處理手機端和 PC 端跳轉不同頁面
- 判斷電腦的大小端
- PHP判斷檔案是否為圖片的方法PHP
- iOS開發-如何判斷手機是否開啟了放大模式iOS模式
- Nginx根據PC端和手機端跳轉不同的路徑Nginx
- CRC 自動判斷大端 小端
- 手機端跨域問題跨域
- VBA判斷指定的資料夾或檔案是否存在
- TeamViewer遠端訪問View
- js判斷手機系統JS
- 【kingsql分享】Linux平臺判斷大小端SQLLinux
- 如何判斷作業系統大小端作業系統
- 手機端的適配問題