PHP判断是手机端还是PC端 PHP判断是否是微信浏览器


Posted in PHP onMarch 15, 2017

本文实例为大家分享了PHP判断的两个实例,一是PHP判断是手机端还是PC端,二是PHP判断是否是微信浏览器,供大家参考,具体内容如下

1、判断是否是手机端

function 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;
  } 
  // 脑残法,判断手机发送的客户端标志,兼容性有待提高。其中'MicroMessenger'是电脑微信
  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','MicroMessenger'); 
    // 从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;
}

2、判断是否是微信内置浏览器

function isWeixin() { 
  if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) { 
    return true; 
  } else {
    return false; 
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
Extended CHM PHP 语法手册之 DIY
Oct 09 PHP
PHP的面试题集,附我的答案和分析(一)
Nov 19 PHP
有关PHP性能优化的介绍
Jun 20 PHP
PHP实现根据设备类型自动跳转相应页面的方法
Jul 24 PHP
php中preg_match的isU代表什么意思
Oct 01 PHP
laravel学习教程之存取器
Jul 30 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
Apr 15 PHP
yii框架redis结合php实现秒杀效果(实例代码)
Oct 26 PHP
PHP使用curl_multi_select解决curl_multi网页假死问题的方法
Aug 15 PHP
PHP fclose函数用法总结
Feb 15 PHP
记Laravel调用Gin接口调用formData上传文件的实现方法
Dec 12 PHP
PHP使用Redis队列执行定时任务实例讲解
Mar 24 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
Mar 15 #PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
Mar 15 #PHP
thinkPHP简单调用函数与类库的方法
Mar 15 #PHP
Yii2 批量插入、更新数据实例
Mar 15 #PHP
Yii实现复选框批量操作实例代码
Mar 15 #PHP
thinkPHP实现签到功能的方法
Mar 15 #PHP
thinkPHP框架实现图像裁剪、缩放、加水印的方法
Mar 14 #PHP
You might like
PHP 分页原理分析,大家可以看看
2009/12/21 PHP
解析php中session的实现原理以及大网站应用应注意的问题
2013/06/17 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
PHP依赖注入原理与用法分析
2018/08/21 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
2018/11/30 PHP
YII2.0框架行为(Behavior)深入详解
2019/07/26 PHP
漂亮的仿flash菜单,来自蓝色经典
2006/06/26 Javascript
比Jquery的document.ready更快的方法
2010/04/28 Javascript
jquery 插件学习(六)
2012/08/06 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
浅谈bootstrap源码分析之tab(选项卡)
2016/06/06 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
AngularJS入门之动画
2016/07/27 Javascript
AngularJS入门教程之服务(Service)
2016/07/27 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
2017/01/04 Javascript
纯JS实现轮播图
2017/02/22 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
Vue的transition-group与Virtual Dom Diff算法的使用
2019/12/09 Javascript
jQuery实现鼠标放置名字上显示详细内容气泡提示框效果的方法分析
2020/04/04 jQuery
简单了解JavaScript arguement原理及作用
2020/05/28 Javascript
javascript实现时间日期的格式化的方法汇总
2020/08/06 Javascript
详解vue 组件注册
2020/11/20 Vue.js
Python中max函数用法实例分析
2015/07/17 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
Numpy数组array和矩阵matrix转换方法
2019/08/05 Python
简单了解python元组tuple相关原理
2019/12/02 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
纯CSS3实现的阴影效果
2014/12/24 HTML / CSS
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
公司总经理岗位职责范本
2014/08/15 职场文书
在教室放鞭炮的检讨书
2014/09/28 职场文书
思想品德评语大全
2014/12/31 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
大学生村官工作心得体会
2016/01/23 职场文书
低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限
2021/07/01 MySQL