亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長(zhǎng)資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    php怎么判斷一個(gè)客戶端是手機(jī)還是電腦

    php判斷一個(gè)客戶端是手機(jī)還是電腦的方法:首先創(chuàng)建一個(gè)PHP示例文件;然后通過(guò)判斷“$_SERVER['HTTP_USER_AGENT']”里是否含有關(guān)鍵字“mobile”來(lái)實(shí)現(xiàn)即可。

    php怎么判斷一個(gè)客戶端是手機(jī)還是電腦

    本文操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

    php怎么判斷一個(gè)客戶端是手機(jī)還是電腦?

    PHP判斷請(qǐng)求是否來(lái)自移動(dòng)端還是PC端

    如題,其實(shí)最簡(jiǎn)單的方法就是判斷$_SERVER['HTTP_USER_AGENT']里是否含有關(guān)鍵字“mobile”(user_agent里面包含了用戶的設(shè)備信息),下面是thinkphp論壇上的找到的更好的判斷方法:

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

    當(dāng)然也可以使用PHP的mobile-detect類(lèi): https://github.com/serbanghita/Mobile-Detect。不過(guò)我覺(jué)得沒(méi)必要引入那么一大段代碼來(lái)檢測(cè)(如果有特殊的檢測(cè)需求,比如檢測(cè)iPhone設(shè)備,檢測(cè)iPad設(shè)備,那么mobile-detect是不錯(cuò)的選擇),一般情況下,分析USER_AGENT來(lái)判斷就可以了。

    推薦學(xué)習(xí):《PHP視頻教程》

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)