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 相关文章推荐
php 自写函数代码 获取关键字 去超链接
Feb 08 PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
Jun 09 PHP
第七章 php自定义函数实现代码
Dec 30 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
Jun 25 PHP
PHP mysql与mysqli事务使用说明 分享
Aug 17 PHP
PHP文件上传判断file是否己选择上传文件的方法
Nov 10 PHP
PHP连接access数据库
Mar 27 PHP
使用PHP实现生成HTML静态页面
Nov 18 PHP
Zend Framework教程之Bootstrap类用法概述
Mar 14 PHP
php观察者模式应用场景实例详解
Feb 03 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 PHP
thinkphp分页集成实例
Jul 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的配置文件php.ini
2006/10/09 PHP
PHP+MYSQL会员系统的登陆即权限判断实现代码
2011/09/23 PHP
php用正则表达式匹配中文实例详解
2013/11/06 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
2010/04/01 Javascript
HTML中的setCapture和releaseCapture使用介绍
2012/03/21 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
json原理分析及实例介绍
2012/11/29 Javascript
jquery 动态创建元素的方式介绍及应用
2013/04/21 Javascript
jQuery中data()方法用法实例
2014/12/27 Javascript
ExtJs动态生成treepanel的Json格式
2015/07/19 Javascript
js简单实现Select互换数据的方法
2015/08/17 Javascript
基于javascript实现图片懒加载
2016/01/05 Javascript
学JavaScript七大注意事项【必看】
2016/05/04 Javascript
判断是否存在子节点的实现代码
2016/05/18 Javascript
创建基于Bootstrap的下拉菜单的DropDownList的JQuery插件
2016/06/02 Javascript
在vue-cli搭建的项目中增加后台mock接口的方法
2018/04/26 Javascript
vsCode安装使用教程和插件安装方法
2020/08/24 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
生产制造追溯系统之再说条码打印
2019/06/03 Javascript
Vue代码整洁之去重方法整理
2019/08/06 Javascript
Angular8 Http拦截器简单使用教程
2019/08/20 Javascript
python文件与目录操作实例详解
2016/02/22 Python
对pandas进行数据预处理的实例讲解
2018/04/20 Python
python numpy和list查询其中某个数的个数及定位方法
2018/06/27 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
2018/12/19 Python
HTML5之SVG 2D入门3—文本与图像及渲染文本介绍
2013/01/30 HTML / CSS
HTML5 video循环播放多个视频的方法步骤
2020/08/06 HTML / CSS
菲律宾优惠券网站:MetroDeal
2019/04/12 全球购物
党支部综合考察材料
2014/05/19 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书
物业项目经理岗位职责
2015/04/01 职场文书
入党积极分子群众意见
2015/06/01 职场文书
2015年秋季小学开学标语
2015/07/16 职场文书
高中班长竞选稿
2015/11/20 职场文书
简短的人生哲理(38句)
2019/08/13 职场文书