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 相关文章推荐
第十节--抽象方法和抽象类
Nov 16 PHP
Discuz Uchome ajaxpost小技巧
Jan 04 PHP
php数据类型判断函数有哪些
Sep 23 PHP
php中利用str_pad函数生成数字递增形式的产品编号
Sep 30 PHP
去掉destoon资讯内容页keywords关键字自带的文章标题的方法
Aug 21 PHP
php+mysqli使用面向对象方式更新数据库实例
Jan 29 PHP
PHP获取指定月份第一天和最后一天的方法
Jul 18 PHP
php将数组存储为文本文件方法汇总
Oct 28 PHP
PHP正则删除HTML代码中宽高样式的方法
Jun 12 PHP
PHP get_html_translation_table()函数用法讲解
Feb 16 PHP
解决laravel(5.5)访问public报错的问题
Oct 12 PHP
PHP实现简单的协程任务调度demo示例
Feb 01 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管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
PHP使用JSON和将json还原成数组
2015/02/12 PHP
PHP实现的简单缓存类
2015/07/29 PHP
PHP模板引擎Smarty内建函数详解
2016/04/11 PHP
jQuery判断checkbox是否选中的小例子
2013/12/02 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
javascript正则表达式定义(语法)总结
2016/01/08 Javascript
javascript获取网页各种高宽及位置的方法总结
2016/07/27 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
Angularjs CURD 详解及实例代码
2016/09/14 Javascript
解决webpack dev-server不能匹配post请求的问题
2018/08/24 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
React实现阿里云OSS上传文件的示例
2020/08/10 Javascript
python获取标准北京时间的方法
2015/03/24 Python
Python实现截屏的函数
2015/07/25 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
python实现画圆功能
2018/01/25 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
Pycharm中安装wordcloud等库失败问题及终端通过pip安装的Python库如何添加到Pycharm解释器中(推荐)
2020/05/10 Python
keras分类模型中的输入数据与标签的维度实例
2020/07/03 Python
Python3使用tesserocr识别字母数字验证码的实现
2021/01/29 Python
露营世界:Camping World
2017/02/02 全球购物
美国现代家具购物网站:LexMod
2019/01/09 全球购物
美国主要的特色咖啡和茶公司:Peet’s Coffee
2020/02/14 全球购物
宝信软件JAVA工程师面试经历
2012/08/19 面试题
关于廉洁的广播稿
2014/01/30 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
个人培训总结
2015/03/05 职场文书
幼儿园门卫安全责任书
2015/05/08 职场文书
经营场所使用证明
2015/06/19 职场文书
2015年社区重阳节活动总结
2015/07/30 职场文书
JavaScript 反射学习技巧
2021/10/16 Javascript
Java实现注册登录跳转
2022/06/16 Java/Android
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python