您好,登錄后才能下訂單哦!
php實現手機適配跳轉頁面的方法?這個問題可能是我們日常學習或工作經常見到的。希望通過這個問題能讓你收獲頗深。下面是小編給大家帶來的參考內容,讓我們一起來看看吧!
php實現手機跳轉頁面的方法:首先打開“header.php”文件;然后在頂部添加代碼為“$agent = $_SERVER['HTTP_USER_AGENT'];”;最后保存修改即可。
PHP網站手機適配跳轉到相對應的頁面
如果你有來自手機界面的訪問者,你很可能需要將他們引導至一個不同的頁面,一個特別為手機瀏覽器優化的界面。
1.在頁面頭部添加判斷
通過PHP和瀏覽器頭信息,我們可以輕松地實現將手機用戶轉向經過專門設計的WAP界面。我恰好使用了WP-T-WAP插件實現了界面的WAP化,WAP瀏覽的地址是http://mkaifa.com/wap。(你可以嘗試瀏覽這個地址,它可以在電腦上被打開。真抱歉,我現在用的是MobilePress,沒有演示了,MobilePress可以自動判斷訪問者的瀏覽器。)
我希望手機訪客在打開http://mkaifa.com/地址時,自動導向http://mkaifa.com/wap。怎么辦呢?
答案非常簡單。
打開header.php文件。在第一行插入以下代碼:
< ?php $agent = $_SERVER['HTTP_USER_AGENT']; if(strpos($agent,"comFront") || strpos($agent,"iPhone") || strpos($agent,"MIDP-2.0") || strpos($agent,"Opera Mini") || strpos($agent,"UCWEB") || strpos($agent,"Android") || strpos($agent,"Windows CE") || strpos($agent,"SymbianOS")) header("Location:http://mkaifa.com/wap"); ?>
這段代碼的含義是,當瀏覽器返回的UA信息為Opera Mini、UCWEB等內容時,將頁面轉向http://mkaifa.com/wap。
1.1 補充:增加手機瀏覽器的跳轉提示
當你使用上面的方法設置跳轉時,可能會遇到這種狀況:手機訪問者直接訪問類似http://mkaifa.com/archive/xxx的子頁面,而不是首頁。這時,改判斷語句仍然會執行命令,將手機訪問者引導至手機界面的首頁,使訪客無法獲取想要的信息。
怎么辦呢?
你可以在這段語句之外再加入一個判斷,只有在當前頁面為首頁時執行此命令。
在WordPress環境下這個判斷的寫法是
<?php if ( is_home() ) { ... }?>
那么全部的代碼是:
<?php $agent = $_SERVER['HTTP_USER_AGENT']; if ( is_home() && ((strpos($agent,"comFront") || strpos($agent,"iPhone") || strpos($agent,"MIDP-2.0") || strpos($agent,"Opera Mini") || strpos($agent,"UCWEB") || strpos($agent,"Android") || strpos($agent,"Windows CE") || strpos($agent,"SymbianOS")) ) header("Location:http://mkaifa.com/wap"); } ?>
這樣我們又遇到一個問題:手機訪問者在瀏覽子頁面時,并不知道你提供了WAP界面,而你恰恰又很希望推銷的你的WAP界面。
我們可以修改這個判斷語句,讓它不再直接跳轉,而是在特定瀏覽器下顯示提示信息,告訴手機用戶可以轉換至WAP界面瀏覽。
代碼寫法如下:
<?php $agent = $_SERVER['HTTP_USER_AGENT']; if(strpos($agent,"comFront") || strpos($agent,"iPhone") || strpos($agent,"MIDP-2.0") || strpos($agent,"Opera Mini") || strpos($agent,"UCWEB") || strpos($agent,"Android") || strpos($agent,"Windows CE") || strpos($agent,"SymbianOS")) { ?> <div id="mobile"><p>系統檢測到您正在使用手機瀏覽器,您可以訪問<a href="http://mkaifa.com/wap">移動界面</a>以獲取更好的瀏覽體驗。</p></div> <?php } ?>
當然了,你可以綜合這兩種方法,讓手機訪客在訪問首頁時自動跳轉,而訪問其他界面時顯示提示信息。
2.需要足夠的手機瀏覽器UA信息
當瀏覽器訪問頁面時,它會向服務器提交一個標志字符,這段字符被稱作UA(User Agent),他們看起來大概是這個樣子:
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) )
是的,UA很長,甚至還包含了系統信息。但是當我們進行判斷時,只需要核對最關鍵的字符。比如我需要判斷當前用戶是否使用了IE 8(我的確就是用的IE8),那么 在上面的判斷語句中就應該寫成strpos($agent,”MSIE 8.0″) 。
我準備了8種最常見的瀏覽器/平臺分別是comFront、iPhone、JAVA(MIDP-2.0)、Opera Mini、UCWEB、Android、Windows CE/Mobile、SymbianOS。就目前的狀況來說,這8種平臺已經包含了國內幾乎全部的手機訪客,當然,完整的手機瀏覽客戶端列表不止這么多,我羅列一些:
2.0 MMP, 240×320, 400X240, AvantGo, BlackBerry, Blazer, Cellphone, Danger, DoCoMo, Elaine/3.0 EudoraWeb, Googlebot-Mobile, hiptop, IEMobile, KYOCERA/WX310K, LG/U990, MIDP-2., MMEF20, MOT-V, comFront, Newt, Nintendo Wii, Nitro, // Nintendo DS Nokia, Opera Mini, Palm, PlayStation Portable, portalmmm, Proxicom, Proxicom, SHARP-TQ-GX10, SHG-i900, Small, SonyEricsson, Symbian OS, SymbianOS, TS21i-10, UP.Browser, UP.Link, webOS, // Palm Pre, etc. Windows CE, WinWAP, YahooSeeker/M1A1-R2D2
你可以根據這個列表添加或替換上面的PHP判斷語句。但是我仍然推薦我已經選好的8種平臺,因為目前會使用手機瀏覽互聯網——特別是個人博客的用戶,基本上都是高端玩家。
另外你可以寫一個簡單的頁面,用來判斷你的手機UA
<?phpecho $_SERVER['HTTP_USER_AGENT']; ?>
保存為ua-test.php,上傳至服務器,用你的手機訪問這個頁面。
感謝各位的閱讀!看完上述內容,你們對php實現手機適配跳轉頁面的方法大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。