php函數(shù)實(shí)現(xiàn)判斷是否移動(dòng)端訪問(wèn)
更新時(shí)間:2015年03月03日 16:28:52 投稿:hebedich
本文給大家分享的是一則php判斷是否移動(dòng)端訪問(wèn)的函數(shù),是之前收藏的,這里發(fā)出來(lái),推薦給小伙伴們。
忘記在哪里獲取的函數(shù)了,剛才不了心在一個(gè)包里面找到,臨時(shí)保存起來(lái)
復(fù)制代碼 代碼如下:
/**
* 是否移動(dòng)端訪問(wèn)訪問(wèn)
*
* @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ā)送的客戶端標(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判斷是手機(jī)端還是PC端 PHP判斷是否是微信瀏覽器
- thinkphp判斷訪客為手機(jī)端或PC端的方法
- 在WordPress中使用PHP腳本來(lái)判斷訪客來(lái)自什么國(guó)家
- php 判斷訪客是否為搜索引擎蜘蛛的函數(shù)代碼
- PHP中通過(guò)HTTP_USER_AGENT判斷是否為手機(jī)移動(dòng)終端的函數(shù)代碼
- 利用PHP判斷是手機(jī)移動(dòng)端還是PC端訪問(wèn)的函數(shù)示例
- php/asp/asp.net中判斷百度移動(dòng)和PC蜘蛛的實(shí)現(xiàn)代碼
- PHP判斷是否是微信打開還是瀏覽器打開的方法
- 通過(guò)JS和PHP兩種方法判斷用戶請(qǐng)求時(shí)使用的瀏覽器類型
- 使用PHP和JavaScript判斷請(qǐng)求是否來(lái)自微信內(nèi)瀏覽器
- PHP判斷訪客是否手機(jī)端(移動(dòng)端瀏覽器)訪問(wèn)的方法總結(jié)【4種方法】
相關(guān)文章
PHP基于socket實(shí)現(xiàn)客戶端和服務(wù)端通訊功能
這篇文章主要介紹了PHP基于socket實(shí)現(xiàn)客戶端和服務(wù)端通訊功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07php多層數(shù)組與對(duì)象的轉(zhuǎn)換實(shí)例代碼
通過(guò)json_decode(json_encode($object)可以將對(duì)象一次性轉(zhuǎn)換為數(shù)組,但是object中遇到非utf-8編碼的非ascii字符則會(huì)出現(xiàn)問(wèn)題,比如gbk的中文,何況json_encode和decode的性能也值得疑慮2013-08-08給PHP開發(fā)者的編程指南 第一部分降低復(fù)雜程度
給PHP開發(fā)者的編程指南,第一部分的內(nèi)容是降低復(fù)雜程度,感興趣的小伙伴們可以參考一下2016-01-01解決php的“It is not safe to rely on the system’s timezone setti
這篇文章主要介紹了解決php的“It is not safe to rely on the system’s timezone settings”問(wèn)題的方法,需要的朋友可以參考下2015-10-10淺談php中fopen不能創(chuàng)建中文文件名文件的問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談php中fopen不能創(chuàng)建中文文件名文件的問(wèn)題。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02