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的面向对象编程
Oct 09 PHP
聊天室php&amp;mysql(六)
Oct 09 PHP
set_include_path在win和linux下的区别
Jan 10 PHP
PHP操作MongoDB时的整数问题及对策说明
May 02 PHP
php array_filter除去数组中的空字符元素
Jun 21 PHP
第四章 php数学运算
Dec 30 PHP
php inc文件使用的风险和注意事项
Nov 12 PHP
smarty模板中拼接字符串的方法
Feb 14 PHP
php获取apk包信息的方法
Aug 15 PHP
PHP表单提交后引号前自动加反斜杠的原因及三种办法关闭php魔术引号
Sep 30 PHP
如何判断php mysqli扩展类是否开启
Dec 24 PHP
PHP命名空间namespace及use的简单用法分析
Aug 03 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
全国FM电台频率大全 - 27 陕西省
2020/03/11 无线电
php验证手机号码(支持归属地查询及编码为UTF8)
2013/02/01 PHP
thinkphp的CURD和查询方式介绍
2013/12/19 PHP
destoon调用自定义模板及样式的公告栏
2014/06/21 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
静态html文件执行php语句的方法(推荐)
2016/11/21 PHP
laravel7学习之无限级分类的最新实现方法
2020/09/30 PHP
针对初学者的jQuery入门指南
2015/08/15 Javascript
JS修改地址栏参数实例代码
2016/06/14 Javascript
vue.js入门(3)——详解组件通信
2016/12/02 Javascript
解决vue router组件状态刷新消失的问题
2018/08/01 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
解决JS表单验证只有第一个IF起作用的问题
2018/12/04 Javascript
详解JavaScript栈内存与堆内存
2019/04/04 Javascript
vue轮播组件实现$children和$parent 附带好用的gif录制工具
2019/09/26 Javascript
微信小程序获取当前位置和城市名
2019/11/13 Javascript
Vue左滑组件slider使用详解
2020/08/21 Javascript
JS实现按比例缩小图片宽高
2020/08/24 Javascript
在JavaScript中查找字符串中最长单词的三种方法(推荐)
2021/01/18 Javascript
原生js实现自定义滚动条组件
2021/01/20 Javascript
[04:37]DOTA2英雄梦之声Vol20发条
2014/06/20 DOTA
[54:47]Liquid vs VP Supermajor决赛 BO 第五场 6.10
2018/07/05 DOTA
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
详细分析python3的reduce函数
2017/12/05 Python
用tensorflow构建线性回归模型的示例代码
2018/03/05 Python
对Xpath 获取子标签下所有文本的方法详解
2019/01/02 Python
Python面向对象进阶学习
2019/05/21 Python
Python OpenCV中的resize()函数的使用
2019/06/20 Python
python类中super() 的使用解析
2019/12/19 Python
animation和transition的区别
2020/10/12 HTML / CSS
移动端Html5中百度地图的点击事件
2019/01/31 HTML / CSS
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
2015/10/13 面试题
致运动员赞词
2015/07/22 职场文书
退伍军人感言
2015/08/01 职场文书