php如何判斷是否為移動設(shè)備-創(chuàng)新互聯(lián)

這篇文章主要介紹php如何判斷是否為移動設(shè)備,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了北鎮(zhèn)免費建站歡迎大家使用!

現(xiàn)在移動設(shè)備大熱的年代,可能我們在做web前端開發(fā)的時候經(jīng)常會需要用到對移動設(shè)備的頁面匹配。當(dāng)然我們可以用響應(yīng)式頁面設(shè)計來處理前端的匹配問題,但是響應(yīng)式頁面只是不顯示某些代碼,但是還是會加載到用戶的移動設(shè)備中。

為了更好的照顧到用戶手機瀏覽的體驗,減少不必要的加載。我們可以再通過PHP的方式來減少用戶的代碼加載,提高用戶瀏覽頁面時的體驗。

由于現(xiàn)在移動設(shè)備的種類繁多、而且瀏覽器五花八門,所以僅僅是通過UA來判斷已經(jīng)不能完全解決問題了。

下面分享一個PHP現(xiàn)成的方法用于PHP做移動設(shè)備的判斷

<?php
function isMobile()
{ 
    // 如果有HTTP_X_WAP_PROFILE則一定是移動設(shè)備
    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
    {
        return true;
    } 
    // 如果via信息含有wap則一定是移動設(shè)備,部分服務(wù)商會屏蔽該信息
    if (isset ($_SERVER['HTTP_VIA']))
    { 
        // 找不到為flase,否則為true
        return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
    } 
    // 腦殘法,判斷手機發(fā)送的客戶端標(biāo)志,兼容性有待提高
    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中查找手機瀏覽器的關(guān)鍵字
        if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))
        {
            return true;
        } 
    } 
    // 協(xié)議法,因為有可能不準(zhǔn)確,放到最后判斷
    if (isset ($_SERVER['HTTP_ACCEPT']))
    { 
        // 如果只支持wml并且不支持html那一定是移動設(shè)備
        // 如果支持wml和html但是wml在html之前則是移動設(shè)備
        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;
} 
?>

目前這個方法可以用于大多數(shù)的移動設(shè)備判斷,使用時也可以根據(jù)需要自行添加一些UA的判斷參數(shù)

以上是php如何判斷是否為移動設(shè)備的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計公司行業(yè)資訊頻道!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享名稱:php如何判斷是否為移動設(shè)備-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://bm7419.com/article40/dioseo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站策劃定制開發(fā)品牌網(wǎng)站建設(shè)、微信公眾號、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)