PHP檢測(cè)移動(dòng)設(shè)備類mobile detection使用實(shí)例
目前,一個(gè)網(wǎng)站有多個(gè)版本是很正常的,如PC版,3G版,移動(dòng)版等等。根據(jù)不同的瀏覽設(shè)備我們需要定向到不同的版本中。不僅如此,我們有時(shí)候還需要根據(jù)不同的客戶端加載不同的CSS,因此我們需要能夠檢測(cè)瀏覽設(shè)備,SO,我們就需要用到“mobile detection”類庫(kù)。
“mobile detection”是一個(gè)輕量級(jí)移動(dòng)設(shè)備檢測(cè)的PHP類庫(kù),它采用結(jié)合特定的HTTP標(biāo)頭中的User-Agent字符串來檢測(cè)移動(dòng)客戶端環(huán)境。注意,mobile detection 只是一個(gè)服務(wù)器端(PHP)的檢測(cè)工具,并不能代替響應(yīng)式Web設(shè)計(jì)或其他任何形式的客戶端功能檢測(cè)。
mobile detection 類庫(kù)下載地址:https://github.com/serbanghita/Mobile-Detect
實(shí)例1:根據(jù)設(shè)備重定向到其他版本
當(dāng)我們使用移動(dòng)設(shè)備瀏覽某網(wǎng)站時(shí),需要定向到該網(wǎng)站的移動(dòng)版,首先將具有檢測(cè)功能的文件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è)備檢測(cè)平臺(tái),隨著科技的進(jìn)步會(huì)有不同的設(shè)備出現(xiàn),因此你需要隨時(shí)更新類庫(kù),這樣才能保證檢測(cè)的準(zhǔn)確性。
- PHP簡(jiǎn)單判斷iPhone、iPad、Android及PC設(shè)備的方法
- PHP簡(jiǎn)單判斷手機(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檢測(cè)Android設(shè)備的代碼
- 簡(jiǎn)單的移動(dòng)設(shè)備檢測(cè)PHP腳本代碼
- PHP獲取用戶訪問IP地址的5種方法
- php網(wǎng)站判斷用戶是否是手機(jī)訪問的方法
- php獲取訪問者IP地址匯總
- PHP獲取訪問設(shè)備信息的方法示例
相關(guān)文章
php如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)的備份和恢復(fù)
這篇文章主要介紹了php如何實(shí)現(xiàn)數(shù)據(jù)庫(kù)的備份和恢復(fù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11PHP函數(shù)addslashes和mysql_real_escape_string的區(qū)別
這篇文章主要介紹了PHP函數(shù)addslashes和mysql_real_escape_string的區(qū)別,以及一個(gè)SQL注入漏洞介紹,需要的朋友可以參考下2014-04-04CI框架(CodeIgniter)實(shí)現(xiàn)的導(dǎo)入、導(dǎo)出數(shù)據(jù)操作示例
這篇文章主要介紹了CI框架(CodeIgniter)實(shí)現(xiàn)的導(dǎo)入、導(dǎo)出數(shù)據(jù)操作,結(jié)合實(shí)例形式分析了CodeIgniter框架libraies中引用PHPExcel實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入導(dǎo)出相關(guān)操作技巧,需要的朋友可以參考下2018-05-05yii2 commands模式以及配置crontab定時(shí)任務(wù)的方法
下面小編就為大家?guī)硪黄獃ii2 commands模式以及配置crontab定時(shí)任務(wù)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08phpinfo 系統(tǒng)查看參數(shù)函數(shù)代碼
并根據(jù)自身的理解做了很多修改和優(yōu)化,就當(dāng)前而言,這是探測(cè)信息最全面的PHP探針了!2009-06-06Laravel框架實(shí)現(xiàn)model層的增刪改查(CURD)操作示例
這篇文章主要介紹了Laravel框架實(shí)現(xiàn)model層的增刪改查(CURD)操作,結(jié)合實(shí)例形式分析了Laravel框架模型model層進(jìn)行數(shù)據(jù)庫(kù)的增刪改查操作具體實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-05-05thinkphp5.0整合phpsocketio完整攻略(繞坑)
這篇文章主要介紹了thinkphp5.0整合phpsocketio完整攻略(繞坑),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10