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 相关文章推荐
adodb与adodb_lite之比较
Dec 31 PHP
令PHP初学者头疼十四条问题大总结
Nov 12 PHP
php中session退出登陆问题
Feb 27 PHP
PHP中使用socket方式GET、POST数据实例
Apr 02 PHP
大家在抢红包,程序员在研究红包算法
Aug 31 PHP
yii2带搜索功能的下拉框实例详解
May 12 PHP
PHP实现的随机IP函数【国内IP段】
Jul 20 PHP
php微信公众号开发模式详解
Nov 28 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 PHP
php通过各种函数判断0和空
Jul 04 PHP
如何让PHP编码更加好看利于阅读
May 12 PHP
php报错502badgateway解决方法
Oct 11 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
为查询结果建立向后/向前按钮
2006/10/09 PHP
深入了解PHP类Class的概念
2012/06/14 PHP
php操作mysqli(示例代码)
2013/10/28 PHP
Yii2.0中使用js异步删除示例
2017/03/10 PHP
[原创]php正则删除img标签的方法示例
2017/05/27 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
PHP迭代器和迭代的实现与使用方法分析
2018/04/19 PHP
导入extjs、jquery 文件时$使用冲突问题解决方法
2014/01/14 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
js数组依据下标删除元素
2015/04/14 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
Angularjs中$http以post请求通过消息体传递参数的实现方法
2016/08/05 Javascript
js判断radiobuttonlist的选中值显示/隐藏其它模块的实现方法
2016/08/25 Javascript
JavaScript输入框字数实时统计更新
2017/06/17 Javascript
vue实现图片懒加载的方法分析
2020/02/05 Javascript
paramiko模块安装和使用(远程登录服务器)
2014/01/27 Python
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
Python编程之gui程序实现简单文件浏览器代码
2017/12/08 Python
python删除过期log文件操作实例解析
2018/01/31 Python
python中reader的next用法
2018/07/24 Python
Python读取系统文件夹内所有文件并统计数量的方法
2018/10/23 Python
用xpath获取指定标签下的所有text的实例
2019/01/02 Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
2019/07/22 Python
Django model 中设置联合约束和联合索引的方法
2019/08/06 Python
python统计字符的个数代码实例
2020/02/07 Python
Django中modelform组件实例用法总结
2020/02/10 Python
浅谈keras使用中val_acc和acc值不同步的思考
2020/06/18 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
佐卡伊官网:中国知名珠宝品牌
2017/02/05 全球购物
Skyscanner阿联酋:全球领先的旅游搜索平台
2017/11/25 全球购物
劳力士官方珠宝商:J.R. Dunn Jewelers
2018/09/29 全球购物
离婚协议书范文2014
2014/10/16 职场文书
劳动者解除劳动合同通知书
2015/04/16 职场文书
推销搭讪开场白
2015/05/28 职场文书
基于python制作简易版学生信息管理系统
2021/04/20 Python