PHP自动识别当前使用移动终端


Posted in PHP onMay 21, 2018

虽然现在利用jquery可以准确地判断出当前使用的是那种客户端,但是有时候根据功能和需求,我们可能需要用php来判断当前程序运行的环境,jquery在这里就不说了,这里直接讲讲php是怎么实现的,希望对大家有所帮助。

我们首先来判断当前运行环境是pc(电脑端)还是sp(手机,ipad端)

class self_test { 
  
 const PC = 'pc'; 
  
 const SP = 'sp'; 
  
 private $_splist = array('iPhone','Android','iPod','iPad','Tizen');//设置经常使用的sp终端,暂时常用的sp端就这几种,如果有的话大家也可以增加 
 
 private $terminal; 
  
 public function __construct(){ 
  $this->setTerminal();//通过setTerminal()方法获取到$terminal变量的值 
 } 
  
 /* 
  * function setTerminal() 
  * 获取终端信息 
  * @return string 
  */ 
  
 private function setTerminal(){ 
  $isSp = false; 
  foreach($this->_splist as $spname){ 
   if (strstr($_SERVER['HTTP_USER_AGENT'], $spname)) { 
    $isSp = true; 
    break; 
   } 
  } 
  return $this->terminal = ($isSp) ? self::SP : self::PC; 
 } 
  
 /* 
  * function PC_SP() 
  * 输出终端信息 
  * @return string 
  */ 
 public function PC_SP(){ 
  return $this->terminal; 
 } 
} 
 
$str = new self_test(); 
echo $str->PC_SP();//输出目前客户使用的是PC还是SP

2.准确判断当前的运行环境并输出客户端环境

class self_test {  
 const PC = 'pc';  
 const SP = 'sp';  
 private $_splist = array('iPhone','Android','iPod','iPad','Tizen');//设置经常使用的sp终端,暂时常用的sp端就这几种,如果有的话大家也可以增加 
 private $environment;  
 public function __construct(){ 
  $this->setEnvironment();//通过setEnvironment()方法获取到$terminal变量的值 
 } 
  
 /* 
  * function environment() 
  * 输出终端信息 
  * @return string 
  */ 
 public function environment(){ 
  return $this->environment; 
 } 
  
 /* 
  * function setEnvironment() 
  * 获取终端信息 
  * @return string 
  */ 
 private function setEnvironment(){ 
  $isSp = self::PC;//如果是PC端,就不需要判断是安卓还是apple了,所以只输出pc就可以 
  foreach($this->_splist as $spname){ 
   if (strstr($_SERVER['HTTP_USER_AGENT'], $spname)) { 
    $isSp = $spname; 
    break; 
   } 
  } 
  return $this->environment = $isSp; 
 } 
} 
$str = new self_test(); 
echo $str->environment();//输出目前客户使用的终端

以上代码都是自己运行成功之后贴出来分享的内容,所以大家可以在自己的环境下调试。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
聊天室php&mysql(三)
Oct 09 PHP
PHP 魔术函数使用说明
May 14 PHP
解析link_mysql的php版
Jun 30 PHP
php 生成短网址原理及代码
Jan 23 PHP
php导入csv文件碰到乱码问题的解决方法
Feb 10 PHP
php实现mysql备份恢复分卷处理的方法
Dec 26 PHP
ThinkPHP文件缓存类代码分享
Apr 22 PHP
PHP函数超时处理方法
Feb 14 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
实例分析10个PHP常见安全问题
Jul 09 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 PHP
PHP连接MySQL数据库并以json格式输出
May 21 #PHP
PHP 访问数据库配置通用方法(json)
May 20 #PHP
PHP生成腾讯云COS接口需要的请求签名
May 20 #PHP
windows环境下使用Composer安装ThinkPHP5
May 18 #PHP
PHP实现登录验证码校验功能
May 17 #PHP
php识别翻转iphone拍摄的颠倒图片
May 17 #PHP
php通过各种函数判断0和空
Jul 04 #PHP
You might like
PHP生成带有雪花背景的验证码
2006/10/09 PHP
php版微信公众账号第三方管理工具开发简明教程
2016/09/23 PHP
php版微信小店调用api示例代码
2016/11/12 PHP
PHP实现合并两个排序链表的方法
2018/01/19 PHP
php7 错误处理机制修改实例分析
2020/05/25 PHP
jquery中dom操作和事件的实例学习-表单验证
2011/11/30 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
jquery制作搜狐快站页面效果示例分享
2014/02/21 Javascript
一个网页标题title的闪动提示效果实现思路
2014/03/22 Javascript
js动态控制table的tr、td增加及删除的具体实现
2014/04/30 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
小程序实现单选多选功能
2018/11/04 Javascript
使用jquery模拟a标签的click事件无法实现跳转的解决
2018/12/04 jQuery
基于node.js实现爬虫的讲解
2019/02/18 Javascript
Vue 前端实现登陆拦截及axios 拦截器的使用
2019/07/17 Javascript
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
Python内置函数OCT详解
2016/11/09 Python
Python实现的文本简单可逆加密算法示例
2017/05/18 Python
python中将函数赋值给变量时需要注意的一些问题
2017/08/18 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
cProfile Python性能分析工具使用详解
2019/07/22 Python
python中的反斜杠问题深入讲解
2019/08/12 Python
python可视化实现KNN算法
2019/10/16 Python
python将音频进行变速的操作方法
2020/04/08 Python
如何基于python对接钉钉并获取access_token
2020/04/21 Python
Python数据分析库pandas高级接口dt的使用详解
2020/12/11 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
一个基于canvas的移动端图片编辑器的实现
2020/10/28 HTML / CSS
学习自我鉴定
2014/02/01 职场文书
2015年超市收银员工作总结
2015/04/25 职场文书
2016年世界人口日宣传活动总结
2016/04/05 职场文书
详解Vue的列表渲染
2021/11/20 Vue.js