php判断是手机端还是电脑端的方法

  介绍

这篇文章给大家分享的是有关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判断是手机端还是电脑端的方法