广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php判断客户端是pc还是移动设备的方法示例
  • 557
分享到

php判断客户端是pc还是移动设备的方法示例

2023-06-06 10:06:41 557人浏览 薄情痞子
摘要

这篇文章主要介绍了PHP判断客户端是pc还是移动设备的方法示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php判断客户端是pc还是移动设备的方法:根据php的$_SERV

这篇文章主要介绍了PHP判断客户端是pc还是移动设备的方法示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

php判断客户端是pc还是移动设备的方法:根据php的$_SERVER['Http_USER_AGENT']中的各种浏览器访问时所包含各个浏览器特定的字符串来判断是属于PC还是移动端。

具体方法如下:

方法一:

function checkmobile() {global $_G;$mobile = array();//各个触控浏览器中$_SERVER['HTTP_USER_AGENT']所包含的字符串数组static $touchbrowser_list =array('iphone', 'Android', 'phone', 'mobile', 'wap', 'netfront', 'java', 'opera mobi', 'opera mini',    'ucWEB', 'windows ce', 'symbian', 'series', 'webos', 'sony', 'blackberry', 'dopod', 'nokia', 'samsung',    'palmsource', 'xda', 'pieplus', 'meizu', 'midp', 'cldc', 'motorola', 'foma', 'docomo', 'up.browser',    'up.link', 'blazer', 'helio', 'hosin', 'huawei', 'novarra', 'coolpad', 'webos', 'techfaith', 'palmsource',    'alcatel', 'amoi', 'ktouch', 'nexian', 'eriCSSon', 'philips', 'sagem', 'wellcom', 'bunjalloo', 'maui', 'smartphone',    'iemobile', 'spice', 'bird', 'zte-', 'lonGCos', 'pantech', 'gionee', 'portalmmm', 'jig browser', 'hiptop',    'benq', 'haier', '^lct', '320x320', '240x320', '176x220');//window手机浏览器数组【猜的】static $mobilebrowser_list =array('windows phone');//wap浏览器中$_SERVER['HTTP_USER_AGENT']所包含的字符串数组static $wmlbrowser_list = array('cect', 'compal', 'ctl', 'lg', 'nec', 'tcl', 'alcatel', 'ericsson', 'bird', 'daxian', 'dbtel', 'eastcom',   'pantech', 'dopod', 'philips', 'haier', 'konka', 'kejian', 'lenovo', 'benq', 'mot', 'soutec', 'nokia', 'sagem', 'sgh',   'sed', 'capitel', 'panasonic', 'sonyericsson', 'sharp', 'amoi', 'panda', 'zte');$pad_list = array('pad', 'gt-p1000');$useragent = strtolower($_SERVER['HTTP_USER_AGENT']);if(dstrpos($useragent, $pad_list)) {  return false;}if(($v = dstrpos($useragent, $mobilebrowser_list, true))){  $_G['mobile'] = $v;  return '1';}if(($v = dstrpos($useragent, $touchbrowser_list, true))){  $_G['mobile'] = $v;  return '2';}if(($v = dstrpos($useragent, $wmlbrowser_list))) {  $_G['mobile'] = $v;  return '3'; //wml版}$brower = array('mozilla', 'chrome', 'safari', 'opera', 'm3gate', 'winwap', 'openwave', 'myop');if(dstrpos($useragent, $brower)) return false;$_G['mobile'] = 'unknown';//对于未知类型的浏览器,通过$_GET['mobile']参数来决定是否是手机浏览器if(isset($_G['mobiletpl'][$_GET['mobile']])) {  return true;} else {  return false;}}function dstrpos($string, $arr, $returnvalue = false) {if(empty($string)) return false;foreach((array)$arr as $v) {  if(strpos($string, $v) !== false) {   $return = $returnvalue ? $v : true;   return $return;  }}return false;}

学习视频分享:php视频教程

方法二:

<?phpfunction isMobile(){     // 如果有HTTP_X_WAP_PROFILE则一定是移动设备    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))    {        return true;    }     // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息    if (isset ($_SERVER['HTTP_VIA']))    {         // 找不到为flase,否则为true        return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;    }     // 脑残法,判断手机发送的客户端标志,兼容性有待提高    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中查找手机浏览器的关键字        if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))        {            return true;        }     }     // 协议法,因为有可能不准确,放到最后判断    if (isset ($_SERVER['HTTP_ACCEPT']))    {         // 如果只支持wml并且不支持html那一定是移动设备        // 如果支持wml和html但是wml在html之前则是移动设备        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;} ?>

第一种方法亲测可用

调用函数:

if(!checkmobile()){}else{}

如果为手机,则。。。否则。

感谢你能够认真阅读完这篇文章,希望小编分享的“php判断客户端是pc还是移动设备的方法示例”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网PHP编程频道,更多相关知识等着你来学习!

--结束END--

本文标题: php判断客户端是pc还是移动设备的方法示例

本文链接: https://www.lsjlt.com/news/246557.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • php判断客户端是pc还是移动设备的方法示例
    这篇文章主要介绍了php判断客户端是pc还是移动设备的方法示例,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。php判断客户端是pc还是移动设备的方法:根据php的$_SERV...
    99+
    2023-06-06
  • php判断是否为移动手机端的方法
    这篇文章主要介绍“php判断是否为移动手机端的方法”,在日常操作中,相信很多人在php判断是否为移动手机端的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php判断是否为移动手机端的方法”的疑惑有所帮助!...
    99+
    2023-06-20
  • javaweb判断当前请求是否为移动设备访问的方法
    这段时间都是在做pc端的业务,结果经理找到我说,可能要做移动端的应用,后台逻辑还是用我写的逻辑,但是需要改动一些,看看怎么处理。由于移动端和pc端还是稍微有些区别的,我觉得最好是在一个地儿统一判断,而且不要改动原先的代码,这样可以从一定程度...
    99+
    2023-05-31
    javaweb 移动设备 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作