PHP檢測移動(dòng)設(shè)備類mobile detection使用實(shí)例
目前,一個(gè)網(wǎng)站有多個(gè)版本是很正常的,如PC版,3G版,移動(dòng)版等等。根據(jù)不同的瀏覽設(shè)備我們需要定向到不同的版本中。不僅如此,我們有時(shí)候還需要根據(jù)不同的客戶端加載不同的CSS,因此我們需要能夠檢測瀏覽設(shè)備,SO,我們就需要用到“mobile detection”類庫。
“mobile detection”是一個(gè)輕量級(jí)移動(dòng)設(shè)備檢測的PHP類庫,它采用結(jié)合特定的HTTP標(biāo)頭中的User-Agent字符串來檢測移動(dòng)客戶端環(huán)境。注意,mobile detection 只是一個(gè)服務(wù)器端(PHP)的檢測工具,并不能代替響應(yīng)式Web設(shè)計(jì)或其他任何形式的客戶端功能檢測。
mobile detection 類庫下載地址:https://github.com/serbanghita/Mobile-Detect
實(shí)例1:根據(jù)設(shè)備重定向到其他版本
當(dāng)我們使用移動(dòng)設(shè)備瀏覽某網(wǎng)站時(shí),需要定向到該網(wǎng)站的移動(dòng)版,首先將具有檢測功能的文件Mobile_Detect.php包含到網(wǎng)頁中或主頁中,現(xiàn)在我們來實(shí)現(xiàn)瀏覽www.uncletoo.com網(wǎng)站時(shí)重定向到m.uncletoo.com中:
/*根據(jù)文件位置更改路徑信息*/
require_once 'Mobile_Detect.php';
$detect = new Mobile_Detect;
if($detect->isMobile()) {
header('Location: http://m.uncletoo.com/');
exit;
}
這是定向到移動(dòng)網(wǎng)站,下面還有其他形式的重定向:
//所有平板設(shè)備
if( $detect->isTablet()) {
}
//是移動(dòng)但非平板設(shè)備
if( $detect->isMobile() && !$detect->isTablet()) {
}
//IOS系統(tǒng)
if( $detect->isiOS()) {
}
//Android系統(tǒng)
if( $detect->isAndroidOS()) {
}
//WindowsPhone系統(tǒng)
if( $detect->isWindowsPhoneOS()) {
}
實(shí)例2:根據(jù)不同設(shè)備加載不同資源
如上所述,我們還可以根據(jù)不同的瀏覽設(shè)備加載不同的CSS文件。如:
$detect = new Mobile_Detect;
if($detect->isMobile() || $detect->isTablet()) {
echo "<link rel='stylesheet' href='mobile.css type='text/css' />";
} else {
echo "<link rel='stylesheet' href='style.css type='text/css' />";
}
注意,mobile detection是一個(gè)移動(dòng)設(shè)備檢測平臺(tái),隨著科技的進(jìn)步會(huì)有不同的設(shè)備出現(xiàn),因此你需要隨時(shí)更新類庫,這樣才能保證檢測的準(zhǔn)確性。
- PHP簡單判斷iPhone、iPad、Android及PC設(shè)備的方法
- PHP簡單判斷手機(jī)設(shè)備的方法
- PHP代碼判斷設(shè)備是手機(jī)還是平板電腦(兩種方法)
- PHP實(shí)現(xiàn)連接設(shè)備、通訊和發(fā)送命令的方法
- PHP實(shí)現(xiàn)根據(jù)設(shè)備類型自動(dòng)跳轉(zhuǎn)相應(yīng)頁面的方法
- 通過JavaScript或PHP檢測Android設(shè)備的代碼
- 簡單的移動(dòng)設(shè)備檢測PHP腳本代碼
- PHP獲取用戶訪問IP地址的5種方法
- php網(wǎng)站判斷用戶是否是手機(jī)訪問的方法
- php獲取訪問者IP地址匯總
- PHP獲取訪問設(shè)備信息的方法示例
相關(guān)文章
codeigniter上傳圖片不能正確識(shí)別圖片類型問題解決方法
這篇文章主要介紹了codeigniter上傳圖片不能正確識(shí)別圖片類型問題解決方法,這是一個(gè)不太常見的問題,但是遇到了的話會(huì)卡人很久,需要的朋友可以參考下2014-07-07
關(guān)于php微信訂閱號(hào)開發(fā)之token驗(yàn)證后自動(dòng)發(fā)送消息給訂閱號(hào)但是沒有消息返回的問題
最近做了個(gè)項(xiàng)目,當(dāng)token驗(yàn)證之后,發(fā)送消息給訂閱號(hào),但是沒有消息返回,下面小編通過本篇文章給大家分享我的解決辦法2015-12-12
Apache啟動(dòng)報(bào)錯(cuò)No space left on device: AH00023該怎么解決
最近有朋友說:Apache啟動(dòng)報(bào)錯(cuò)No space left on device: AH00023,是怎么回事,該怎么解決呢?經(jīng)過小編的一番折騰,問題解決,下面把解決辦法分享給大家,需要的朋友可以參考下2015-10-10
Laravel中9個(gè)不經(jīng)常用的小技巧匯總
這篇文章主要給大家總結(jié)介紹了關(guān)于Laravel中9個(gè)不經(jīng)常用的小技巧,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
php實(shí)現(xiàn)支付寶當(dāng)面付(掃碼支付)功能
這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)支付寶當(dāng)面付,掃碼支付功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-05-05
Laravel5.* 打印出執(zhí)行的sql語句的方法
本篇文章主要介紹了Laravel5.* 打印出執(zhí)行的sql語句的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
PHP+Ajax實(shí)現(xiàn)上傳文件進(jìn)度條動(dòng)態(tài)顯示進(jìn)度功能
這篇文章主要介紹了PHP+Ajax實(shí)現(xiàn)上傳文件進(jìn)度條動(dòng)態(tài)顯示進(jìn)度功能,通過ajax實(shí)現(xiàn)主界面,php處理上傳文件,具體實(shí)例代碼大家跟隨腳本之家小編一起看看吧2018-06-06

