如何使用PHP判断访问来源呢?在支付等场景回经常用到,不需要再多余判断...

截图不完全,小弟直接上代码吧:

/**

* 判断是否移动端

* @return bool|string  返回标识

*/

protected function isMobile(){

//定义参数

$web = 'Web';

$mobile = 'Mobile';

$wx = 'WeiXin';

//判断是否是微信浏览器

if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false ){

return $wx;

}

//如果有HTTP_X_WAP_PROFILE则一定是移动设备

if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])){

return $mobile;

}

//此条摘自TPM智能切换模板引擎,适合TPM开发

if(isset ($_SERVER['HTTP_CLIENT']) &&'PhoneClient'==$_SERVER['HTTP_CLIENT']){

return $mobile;

}

//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息

if (isset ($_SERVER['HTTP_VIA'])){

//找不到为flase,否则为true

return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;

}

//判断手机发送的客户端标志,兼容性有待提高

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'

);

//从HTTP_USER_AGENT中查找手机浏览器的关键字

if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {

return $mobile;

}

}

//协议法,因为有可能不准确,放到最后判断

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 $mobile;

}

}

return $web;

}

各位看官,看在小弟直接上代码的份上点个赞再走呗!

php 判断来源 微信客户端_判断访问来源(PC/H5/微信)相关推荐

  1. python调用微信客户端_用Python编写的简化版微信客户端

    原标题:用Python编写的简化版微信客户端 原文:A simple WeChat client written in Python supports session persistence. 翻译: ...

  2. php 判断来源 微信客户端_判断浏览器HTTP_USER_AGENT类型之微信浏览器判断

    在微信公众平台的开发过程中,我们有时需要开发网页并判断是否是是来自微信浏览器访问,本文介绍如何做出这一判断. 在学习这篇之前,应该先了解一下PHP 的 $_SERVER变量. 下面我们开始讲解具体方法 ...

  3. php 判断来源 微信客户端_使用PHP判断是否为微信、支付宝等移动设备访问代码...

    在开发过程中经常遇到根据不同的设备显示不同的数据或者在页面样式上做不同的布局,另外在做支付接口的时候也可能会判断当前是什么设备访问,例如判断如果是微信内置浏览器访问则只启用微信支付功能,如果是支付宝内 ...

  4. HTML判断客户端,JS代码判断客户端是手机访问还是PC电脑访问

    这篇文章主要为大家详细介绍了JS代码判断客户端是手机访问还是PC电脑访问,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. 前面给大家讲了<PHP判断判访问设 ...

  5. 请在微信客户端打开链接:火狐浏览器模拟微信浏览器内核教程 ,用chrome模拟微信浏览器访问需要OA…....

    背景:微信浏览器能访问,出现,请在微信客户端打开链接. user agent switcher for firefox: https://addons.mozilla.org/en-US/firefo ...

  6. python登录微信客户端_命令行下的微信客户端

    _____ _ _ _____ _ _ ___ _____ |_ _| | | / __ \| | | | / _ \_ _| | | | | | | / \/| |_| |/ /_\ \| | | ...

  7. z变换判断稳定性和因果性_判断因果性.PPT

    判断因果性 10.7离散时间系统系统函数与Z域分析 一.单位样值响应与系统函数 1.由零极点分布确定单位样值响应 由零极点分布确定单位样值响应(续) 利用z-s平面的映射关系 10.8 系统函数的方框 ...

  8. 在通用计算机内pc是指什么地方,电脑版微信保存的文件在哪里?PC端微信文件保存位置是什么?...

    随着微信越来越融入大家的生活,大家越发依赖微信,人们在微信中进行大量私人社交.办公等行为:聊天.接收文件等.无法使用手机时人们需要用到电脑版微信,在电脑版微信里,接收文件之后如何找到文件的保存位置?P ...

  9. php 判断来源 微信客户端_PHP判断手机端、PC端 、微信代码实例

    欢迎大家关注我的其他Github博客和CSDN博客,互相交流! 在这里博主为大家分享了PHP判断的两个实例,一是PHP判断是手机端还是PC端,二是PHP判断是否是微信浏览器,供大家参考,具体内容如下 ...

最新文章

  1. UESTC 1698 The Game
  2. 【Android 应用开发】Activity生命周期 与 Activity 之间的通信
  3. 【.Net Micro Framework PortingKit(补) – 1】USB驱动开发
  4. javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/
  5. 2013年2月最后一周
  6. mysql 5.7.21-linux_MySQL 5.7.21 Linux平台安装 Part 2
  7. Dynamic_Performance_Tables_not_accessible_问题_解决不能动态统计
  8. vue 外部方法调用内部_vue 的进阶之路
  9. 谷歌提出“数据回波”榨干GPU空闲时间,训练速度提升3倍多
  10. 小米10/10 Pro详细规格曝光:120Hz高刷新率屏+66W超级闪充
  11. VSCode输出框中文乱码问题和修改终端字体问题
  12. css鼠标滑过变大,css 鼠标移上去会变大(示例代码)
  13. JSON转Excel
  14. 数学之路-数据分析进阶-转化率
  15. html5游戏封包工具,游戏解包Extractor
  16. 禁用win10系统的Cortana小娜进程,笔记本散热风扇冷静了
  17. VMware Workstation中部署VMware vSphere 7.0
  18. 如何成为一名企业满意的UI设计师
  19. 日语学习的实用网址大全
  20. jks与keystore的转换

热门文章

  1. 在Qt中如何编写插件,加载插件和卸载插件
  2. 写一个福利 Telegram 机器人
  3. 简易英文统计和加密系统的设计实现(纯C语言实现,包含文件操作、注释多、易理解)
  4. 用户激励—积分体系分析
  5. Win10重新做完系统后点关机按钮变成了注销
  6. 关于《经济学人 —— 人工智能专题报告》的一些解读
  7. 【经典书】统计学中的因果推断
  8. HTML5见缝插针小游戏
  9. 外汇天眼:投资200美元起 每天收益7%!千万别被蒙蔽双眼!
  10. 数据分析(七)之pandas学习【dataFrame的使用】