《PHP教程:php函數(shù)實(shí)現(xiàn)判斷是否移動(dòng)端訪(fǎng)問(wèn)》要點(diǎn):
本文介紹了PHP教程:php函數(shù)實(shí)現(xiàn)判斷是否移動(dòng)端訪(fǎng)問(wèn),希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
忘記在哪里獲取的函數(shù)了,剛才不了心在一個(gè)包里面找到,臨時(shí)保存起來(lái)PHP應(yīng)用
代碼如下:
/**
?* 是否移動(dòng)端拜訪(fǎng)拜訪(fǎng)
?*
?* @return bool
?*/
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']))
??? {
??????? // 找不到為flase,否則為true
??????? return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
??? }
??? // 腦殘法,判斷手機(jī)發(fā)送的客戶(hù)端標(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中查找手機(jī)瀏覽器的關(guān)鍵字
??????? if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))
??????? {
??????????? return true;
??????? }
??? }
??? // 協(xié)議法,因?yàn)橛锌赡懿粶?zhǔn)確,放到最后判斷
??? if (isset ($_SERVER['HTTP_ACCEPT']))
??? {
??????? // 如果只支持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;
}
非常簡(jiǎn)單實(shí)用的函數(shù),分享給大家,希望大家能夠喜歡.PHP應(yīng)用
歡迎參與《PHP教程:php函數(shù)實(shí)現(xiàn)判斷是否移動(dòng)端訪(fǎng)問(wèn)》討論,分享您的想法,維易PHP學(xué)院為您提供專(zhuān)業(yè)教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/11897.html