介绍
这篇文章给大家分享的是有关php判断是手机端还是电脑端的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
<强> php如何判断是手机还是电脑强>
有时我们需要知道用户当前的设备,以便进行业务处理,例如电脑就跳转pc站,手机就跳转手机站、下面介绍一种判断的方法。
- <李>
首先php获取$ _SERVER [& # 39; HTTP_USER_AGENT& # 39;]的值;
李> <李>然后比对各个浏览器特定的字符串;
李> <李>最后通过比对结果就能够判断是手机还是电脑了。
李><强>代码如下:强>
/* * * _SERVER *根据php的[& # 39;HTTP_USER_AGENT& # 39;]中各种浏览器访问时所包含各个浏览器特定的字符串来判断是属于PC还是移动端 * @author discuz3x * @lastmodify 2014-04-09 * @return BOOL */函数checkmobile () { 全球_G美元; 数组$移动=();//各个触控浏览器中$ _SERVER [& # 39; HTTP_USER_AGENT& # 39;]所包含的字符串数组 静态数组$ touchbrowser_list=(& # 39; iphone # 39; & # 39; android # 39;, & # 39;电话# 39;,& # 39;移动# 39;,& # 39;wap # 39;, & # 39; netfront& # 39;, & # 39; java # 39;, & # 39;歌剧手机域名# 39;,& # 39;opera mini # 39;, & # 39;ucweb& # 39; & # 39; windows ce # 39; & # 39;塞班# 39;& # 39;系列# 39;,& # 39;webos # 39; & # 39;索尼# 39;& # 39;黑莓# 39;,& # 39;多普达公司# 39;& # 39;诺基亚# 39;,& # 39;三星# 39; & # 39;palmsource& # 39; & # 39; xda # 39; & # 39; pieplus& # 39;, & # 39;魅族# 39;& # 39;midp # 39;, & # 39; cldc # 39; & # 39;摩托罗拉# 39;,& # 39;foma& # 39; & # 39; docomo # 39;, & # 39; up.browser& # 39; & # 39;up.link& # 39; & # 39;外套# 39;& # 39;日光反射信号器# 39;,& # 39;hosin& # 39; & # 39;华为# 39;,& # 39;novarra& # 39; & # 39;酷派数码# 39;,& # 39;webos # 39; & # 39;德信# 39;,& # 39;palmsource& # 39; & # 39;阿尔卡特# 39;& # 39;夏新# 39;& # 39;ktouch& # 39;, & # 39; nexian& # 39; & # 39;爱立信# 39;,& # 39;飞利浦# 39;& # 39;萨基姆# 39;,& # 39;惠康# 39;& # 39;bunjalloo& # 39;, & # 39;毛伊岛# 39;& # 39;智能手机# 39; & # 39;iemobile& # 39; & # 39;香料# 39;& # 39;鸟# 39;,& # 39;中兴通讯& # 39;& # 39;longcos& # 39;, & # 39;泛泰# 39;& # 39;金立# 39;& # 39;portalmmm& # 39;, & # 39;夹具浏览器# 39;,& # 39;hiptop& # 39; & # 39;明基# 39;& # 39;海尔# 39;& # 39;^ lct # 39;, & # 39; 320 x320 # 39; & # 39; 240 x320 # 39; & # 39; 176 x220 # 39;);//窗口手机浏览器数组【猜的】 静态数组$ mobilebrowser_list=(& # 39; windows手机# 39;);//wap浏览器中$ _SERVER [& # 39; HTTP_USER_AGENT& # 39;]所包含的字符串数组 静态数组$ wmlbrowser_list=(& # 39;摄影# 39;& # 39;仁宝# 39;,& # 39;ctl # 39;, & # 39; lg # 39;, & # 39; nec # 39;, & # 39; tcl # 39;, & # 39;阿尔卡特# 39;,& # 39;爱立信# 39;,& # 39;鸟# 39;,& # 39;达县# 39;,& # 39;迪比特# 39;,& # 39;东方通信,, & # 39;泛泰# 39;& # 39;多普达公司# 39;& # 39;飞利浦# 39;,& # 39;海尔# 39;& # 39;康佳# 39;,& # 39;科健# 39;& # 39;联想# 39;,& # 39;明基# 39;& # 39;贴切# 39;,& # 39;南方高科# 39;& # 39;诺基亚# 39;& # 39;萨基姆# 39;,& # 39;功能减退# 39; & # 39;sed # 39; & # 39; capitel& # 39; & # 39;松下# 39;,& # 39;索爱# 39;& # 39;尖锐# 39;,& # 39;夏新# 39;& # 39;熊猫# 39;,& # 39;中兴通讯# 39;); $ pad_list=阵列(& # 39;垫# 39;& # 39;gt-p1000& # 39;); $ useragent=函数($ _SERVER [& # 39; HTTP_USER_AGENT& # 39;]); 如果(dstrpos (useragent, pad_list美元)){ 返回错误; } 如果((v=美元dstrpos (useragent, mobilebrowser_list美元,真))){ $ _G[& # 39;移动# 39;]=v美元; 返回& # 39;1 & # 39;; } 如果((v=美元dstrpos (useragent, touchbrowser_list美元,真))){ $ _G[& # 39;移动# 39;]=v美元; 返回& # 39;2 & # 39;; } 如果((v=美元dstrpos (useragent, wmlbrowser_list美元))){ $ _G[& # 39;移动# 39;]=v美元; 返回& # 39;3 & # 39;;//wml版 } $浏览器=阵列(& # 39;mozilla # 39; & # 39; chrome # 39;, & # 39; safari # 39;, & # 39;歌剧# 39;,& # 39;m3gate& # 39;, & # 39; winwap& # 39;, & # 39; openwave # 39;, & # 39; myop& # 39;); 如果(dstrpos (useragent,布劳尔美元))返回false; $ _G[& # 39;移动# 39;]=& # 39;未知# 39;;//对于未知类型的浏览器,通过$ _GET[& # 39;移动# 39;]参数来决定是否是手机浏览器 如果(收取($ _G [& # 39; mobiletpl& # 39;] [$ _GET[& # 39;移动# 39;]])){ 返回true; 其他}{ 返回错误; } }/* * *判断arr美元中元素字符串是否有出现美元在字符串中 * @param $ _SERVER字符串(& # 39;HTTP_USER_AGENT& # 39;】 * @param $ arr各中浏览器$ _SERVER [& # 39; HTTP_USER_AGENT& # 39;]中必定会包含的字符串 * @param $ returnvalue返回浏览器名称还是返回布尔值,真正为返回浏览器名称,假为返回布尔值【默认】 * @author discuz3x * @lastmodify 2014-04-09 */函数dstrpos(字符串,加勒比海盗,美元$ returnvalue=https://www.yisu.com/zixun/false) { 如果(空字符串($))返回false; foreach((数组)arr美元美元v) { 如果(大小写敏感(字符串,v)美元!==false) { 返回=returnvalue美元吗?美元v:真实; 返回美元返回; } } 返回错误; }php判断是手机端还是电脑端的方法