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下封装较好的数字分页方法
Nov 23 PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
Mar 24 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
Aug 14 PHP
ThinkPHP中使用ajax接收json数据的方法
Dec 18 PHP
php生成rss类用法实例
Apr 14 PHP
php简单判断两个字符串是否相等的方法
Jul 13 PHP
深入解析PHP的Yii框架中的缓存功能
Mar 29 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
May 13 PHP
php实现留言板功能
Mar 05 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP队列场景以及实现代码实例详解
Feb 26 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与Java进行通信的实现方法
2013/10/21 PHP
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
jquery 弹出登录窗口实现代码
2009/12/24 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
精心挑选的15个jQuery下拉菜单制作教程
2012/06/15 Javascript
JavaScript实现班级随机点名小应用需求的具体分析
2014/05/12 Javascript
node.js中的fs.write方法使用说明
2014/12/15 Javascript
BootStrap智能表单实战系列(七)验证的支持
2016/06/13 Javascript
javascript字符串对象常用api函数小结(连接,替换,分割,转换等)
2016/09/20 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
vue 组件使用中的一些细节点
2018/04/25 Javascript
Vue中的混入的使用(vue mixins)
2018/06/01 Javascript
vue单页应用在页面刷新时保留状态数据的方法
2018/09/21 Javascript
vue实现pdf文档在线预览功能
2019/11/26 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
使用python获取CPU和内存信息的思路与实现(linux系统)
2014/01/03 Python
使用python3.5仿微软记事本notepad
2016/06/15 Python
深入了解Python数据类型之列表
2016/06/24 Python
浅谈python 线程池threadpool之实现
2017/11/17 Python
python实现csv格式文件转为asc格式文件的方法
2018/03/23 Python
python递归实现快速排序
2018/08/18 Python
PythonWeb项目Django部署在Ubuntu18.04腾讯云主机上
2019/04/01 Python
python实现截取屏幕保存文件,删除N天前截图的例子
2019/08/27 Python
python读文件的步骤
2019/10/08 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
期末学生评语大全
2014/04/24 职场文书
安康杯竞赛活动总结
2014/05/05 职场文书
教师党员自我剖析材料
2014/09/29 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
2015大学迎新晚会主持词
2015/07/16 职场文书
学校少先队工作总结
2015/08/12 职场文书
Python 语言实现六大查找算法
2021/06/30 Python
在MySQL中你成功的避开了所有索引
2022/04/20 MySQL