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 相关文章推荐
推荐文章系统(一)
Oct 09 PHP
一个分页的论坛
Oct 09 PHP
php array_intersect()函数使用代码
Jan 14 PHP
php 用checkbox一次性删除多条记录的方法
Feb 23 PHP
PHP使用CURL获取302跳转后的地址实例
May 04 PHP
PHP的foreach中使用引用时需要注意的一个问题和解决方法
May 29 PHP
php过滤html标记属性类用法实例
Sep 23 PHP
PHP版微信公众平台红包API
Apr 02 PHP
PHP与Ajax相结合实现登录验证小Demo
Mar 16 PHP
微信支付开发动态链接Native支付
Jul 12 PHP
PHP请求Socket接口测试实例
Aug 12 PHP
PHP基于堆栈实现的高级计算器功能示例
Sep 15 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
关于Iframe如何跨域访问Cookie和Session的解决方法
2013/04/15 PHP
php函数间的参数传递(值传递/引用传递)
2013/09/23 PHP
列举PHP的Yii 2框架的开发优势
2015/07/03 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
js网页版计算器的简单实现
2013/07/02 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
JavaScript输入邮箱自动提示实例代码
2014/01/13 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
基于bootstrap的选择框插件icheck
2016/12/23 Javascript
使用Require.js封装原生js轮播图的实现代码
2017/06/15 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
jQuery实现滚动到底部时自动加载更多的方法示例
2018/02/18 jQuery
11行JS代码制作二维码生成功能
2018/03/09 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
2018/11/27 Javascript
VUE兄弟组件传值操作实例分析
2019/10/26 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
2020/02/06 Javascript
[43:51]2014 DOTA2国际邀请赛中国区预选赛 Dream Times VS TongFu
2014/05/22 DOTA
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
Python序列化基础知识(json/pickle)
2017/10/19 Python
Python科学画图代码分享
2017/11/29 Python
python数据结构学习之实现线性表的顺序
2018/09/28 Python
如何用python写一个简单的词法分析器
2018/12/18 Python
Python实现将字符串的首字母变为大写,其余都变为小写的方法
2019/06/11 Python
python反转列表的三种方式解析
2019/11/08 Python
django 利用Q对象与F对象进行查询的实现
2020/05/15 Python
使用npy转image图像并保存的实例
2020/07/01 Python
HTML5 History API 实现无刷新跳转
2016/01/11 HTML / CSS
是否可以从一个static方法内部发出对非static方法的调用?
2014/08/18 面试题
测试工程师程序员求职信范文
2014/02/20 职场文书
房屋租赁协议书
2014/04/10 职场文书
超市活动计划书
2014/04/24 职场文书
受资助学生感谢信
2015/01/21 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书