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 相关文章推荐
asp和php下textarea提交大量数据发生丢失的解决方法
Jan 20 PHP
PHP开发过程中常用函数收藏
Dec 14 PHP
PHP rawurlencode与urlencode函数的深入分析
Jun 08 PHP
深入理解:XML与对象的序列化与反序列化
Jun 08 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
Jul 05 PHP
PHP实现删除非站内外部链接实例代码
Jun 17 PHP
基础的WordPress插件制作教程
Nov 24 PHP
php打包网站并在线压缩为zip
Feb 13 PHP
详解PHP中foreach的用法和实例
Oct 25 PHP
php与c 实现按行读取文件实例代码
Jan 03 PHP
PHP 文件上传后端处理实用技巧方法
Jan 06 PHP
解决php扩展安装不生效问题
Oct 25 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生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
destoon各类调用汇总
2014/06/20 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
你可能不再需要JQUERY
2021/03/09 Javascript
jQuery 1.0.2
2006/10/11 Javascript
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
input输入框鼠标焦点提示信息
2015/03/17 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
jquery利用拖拽方式在图片上添加热链接
2015/11/24 Javascript
javascript轻量级库createjs使用Easel实现拖拽效果
2016/02/19 Javascript
基于javascript实现图片滑动效果
2016/05/07 Javascript
Bootstrap模态框调用功能实现方法
2016/09/19 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
js实现动态显示时间效果
2017/03/06 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
2017/07/12 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
VueX模块的具体使用(小白教程)
2020/06/05 Javascript
vue实现简单图片上传
2020/06/30 Javascript
[08:17]Ti9 现场cosplay
2019/09/10 DOTA
Django实现自定义404,500页面教程
2017/03/26 Python
tensorflow入门之训练简单的神经网络方法
2018/02/26 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
python列表生成器迭代器实例解析
2019/12/19 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
锐步美国官方网站:Reebok美国
2018/01/10 全球购物
电气工程自动化求职信
2014/03/14 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
2014年小学工作总结
2014/11/26 职场文书
十佳少年事迹材料
2014/12/25 职场文书
初中英语教师个人工作总结
2015/02/09 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
Oracle 多表查询基本语法实例
2022/04/18 Oracle