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&amp;mysql(四)
Oct 09 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
Nov 01 PHP
PHP抽象类 介绍
Jun 13 PHP
php防止sql注入之过滤分页参数实例
Nov 03 PHP
php去除字符串中空字符的常用方法小结
Mar 17 PHP
PHP实现简单的新闻发布系统实例
Jul 28 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
Aug 31 PHP
CodeIgniter配置之SESSION用法实例分析
Jan 19 PHP
PHP实现电商订单自动确认收货redis队列
May 17 PHP
利用PHP获取访客IP、地区位置、浏览器及来源页面等信息
Jun 27 PHP
ThinkPHP开发--使用七牛云储存
Sep 14 PHP
YII分模块加载路由的实现方法
Oct 01 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+ACCESS 文章管理程序代码
2010/06/21 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
PHP 绘制网站登录首页图片验证码
2016/04/12 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
Thinkphp3.2实用篇之计算型验证码示例
2017/02/09 PHP
MSN消息提示类
2006/09/05 Javascript
Ext JS动态加载JavaScript创建窗体的方法
2016/06/23 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
2017/12/27 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
详解关于vue-area-linkage走过的坑
2018/06/27 Javascript
vue使用rem实现 移动端屏幕适配
2018/09/26 Javascript
Vue和React组件之间的传值方式详解
2019/01/31 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
vue实现自定义多选按钮
2020/07/16 Javascript
通过实例解析jQ Ajax操作相关原理
2020/09/23 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
Python的print用法示例
2014/02/11 Python
Python对小数进行除法运算的正确方法示例
2014/08/25 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
python学习将数据写入文件并保存方法
2020/06/07 Python
python基于pygame实现飞机大作战小游戏
2020/11/19 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
css3实现蒙版弹幕功能
2019/06/18 HTML / CSS
HTML5 canvas基本绘图之绘制线条
2016/06/27 HTML / CSS
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
安全生产月活动总结
2014/05/04 职场文书
心理咨询承诺书
2014/05/20 职场文书
国际贸易毕业生自荐书
2014/06/22 职场文书
施工安全协议书范本
2014/09/26 职场文书
干部作风建设个人剖析材料
2014/10/11 职场文书
2016新年慰问信范文
2015/03/25 职场文书
小学生心理健康活动总结
2015/05/08 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
Nginx反向代理学习实例教程
2021/10/24 Servers