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验证码类(分享)
Aug 06 PHP
php读取本地文件常用函数(fopen与file_get_contents)
Sep 09 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
Nov 12 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
Smarty分页实现方法完整实例
May 11 PHP
PHP封装的数据库保存session功能类
Jul 11 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
phpinfo()中Loaded Configuration File(none)的解决方法
Jan 16 PHP
Yii2实现多域名跨域同步登录退出
Feb 04 PHP
PHP字典树(Trie树)定义与实现方法示例
Oct 09 PHP
Thinkphp 5.0实现微信企业付款到零钱
Sep 30 PHP
php7 图形用户界面GUI 开发示例
Feb 22 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入门学习的几个不错的实例代码
2008/07/13 PHP
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
php多层数组与对象的转换实例代码
2013/08/05 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
2013/12/03 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
jQuery中:text选择器用法实例
2015/01/03 Javascript
JavaScript实现重置表单(reset)的方法
2015/04/02 Javascript
javascript表单控件实例讲解
2016/09/13 Javascript
JS搜狐面试题分析
2016/12/16 Javascript
使用apifm-wxapi快速开发小程序过程详解
2019/08/05 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
详解datagrid使用方法(重要)
2020/11/06 Javascript
跟老齐学Python之传说中的函数编写条规
2014/10/11 Python
python模拟enum枚举类型的方法小结
2015/04/30 Python
如何使用django的MTV开发模式返回一个网页
2019/07/22 Python
python hash每次调用结果不同的原因
2019/11/21 Python
在tensorflow中实现屏蔽输出的log信息
2020/02/04 Python
python之生成多层json结构的实现
2020/02/27 Python
Keras loss函数剖析
2020/07/06 Python
深入浅析pycharm中 Make available to all projects的含义
2020/09/15 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
应届生体育教师自荐信
2013/10/03 职场文书
计算机应用专业毕业生求职信
2013/10/24 职场文书
大门门卫岗位职责
2013/11/30 职场文书
母亲七十大寿答谢词
2014/01/18 职场文书
幼儿教师工作感言
2014/02/14 职场文书
诉讼财产保全担保书
2014/05/20 职场文书
商业街策划方案
2014/05/31 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2014年林业工作总结
2014/12/05 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
Go 语言结构实例分析
2021/07/04 Golang