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 disk_free_space 返回目录可用空间
May 10 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
深入Nginx + PHP 缓存详解
Jul 11 PHP
PHP 如何获取二维数组中某个key的集合
Jun 03 PHP
php简单日历函数
Oct 28 PHP
Yii列表定义与使用分页方法小结(3种方法)
Jul 15 PHP
PHP 信号管理知识整理汇总
Feb 19 PHP
php基于自定义函数记录log日志方法
Jul 21 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
Oct 19 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
Jul 08 PHP
laravel框架 laravel-admin上传图片到oss的方法
Oct 13 PHP
PHP架构及原理知识点详解
Dec 22 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
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
php检查页面是否被百度收录
2015/10/28 PHP
php批量删除操作代码分享
2017/02/26 PHP
PHP扩展mcrypt实现的AES加密功能示例
2019/01/29 PHP
XmlUtils JS操作XML工具类
2009/10/01 Javascript
web网页按比例显示图片实现原理及js代码
2013/08/09 Javascript
js通过八个点 拖动改变div大小的实现方法
2014/03/05 Javascript
Js实现动态添加删除Table行示例
2014/04/14 Javascript
js操作模态窗口及父子窗口间相互传值示例
2014/06/09 Javascript
jQuery中empty()方法用法实例
2015/01/16 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
js如何打印object对象
2015/10/16 Javascript
轻松掌握JavaScript单例模式
2016/08/25 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
2016/10/17 Javascript
JSON 必知必会 观后记
2016/10/27 Javascript
详解angular中的作用域及继承
2017/05/31 Javascript
JavaScript转换数据库DateTime字段类型方法
2017/06/27 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
JavaScript判断浏览器和hack滚动条的写法
2017/07/23 Javascript
20170918 前端开发周报之JS前端开发必看
2017/09/18 Javascript
jQuery事件多次绑定与解绑问题实例分析
2019/02/19 jQuery
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
Python 元类使用说明
2009/12/18 Python
Djang中静态文件配置方法
2015/07/30 Python
华为校园招聘上机笔试题 扑克牌大小(python)
2020/04/22 Python
Django基础知识 web框架的本质详解
2019/07/18 Python
Django Celery异步任务队列的实现
2019/07/24 Python
HTML5本地数据库基础操作详解
2016/04/26 HTML / CSS
Unineed旗下时尚轻奢网站:FABHunt
2019/05/13 全球购物
大学生家政服务项目创业计划书
2014/01/30 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
三年级小学生评语
2014/04/22 职场文书
工作失职检讨书500字
2014/10/17 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书