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 相关文章推荐
php5 pdo新改动加载注意事项
Sep 11 PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
Feb 16 PHP
解析PHP中常见的mongodb查询操作
Jun 20 PHP
基于PHP magic_quotes_gpc的使用方法详解
Jun 24 PHP
php preg_replace替换实例讲解
Nov 04 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
php中静态类与静态变量用法的区别分析
Jan 15 PHP
smarty中常用方法实例总结
Aug 07 PHP
PHP通过加锁实现并发情况下抢码功能
Aug 10 PHP
PHP实现的一致性Hash算法详解【分布式算法】
Mar 31 PHP
php转换上传word文件为PDF的方法【基于COM组件】
Jun 10 PHP
php获取微信openid方法总结
Oct 10 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 组件化编程技巧
2009/06/06 PHP
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
yii框架搜索分页modle写法
2016/12/19 PHP
form自动提交实例讲解
2017/07/10 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
[推荐]javascript 面向对象技术基础教程
2009/03/03 Javascript
关于Aptana Studio生成自动备份文件的解决办法
2009/12/23 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
jquery select多选框的左右移动 具体实现代码
2013/07/03 Javascript
NodeJS与Mysql的交互示例代码
2013/08/18 NodeJs
jQuery Validate初步体验(一)
2015/12/12 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
jquery+json实现分页效果
2016/03/07 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
2017/02/03 Javascript
jquery实现全选、全不选以及单选功能
2017/03/23 jQuery
Node.js 8 中的重要新特性
2017/06/28 Javascript
用node和express连接mysql实现登录注册的实现代码
2017/07/05 Javascript
javascript 作用于作用域链的详解
2017/09/27 Javascript
浅谈Koa服务限流方法实践
2017/10/23 Javascript
详解vue添加删除元素的方法
2018/06/30 Javascript
基于jsbarcode 生成条形码并将生成的条码保存至本地+源码
2020/04/27 Javascript
原生js滑动轮播封装
2020/07/31 Javascript
vue实现点击按钮“查看详情”弹窗展示详情列表操作
2020/09/09 Javascript
Python模块包中__init__.py文件功能分析
2016/06/14 Python
利用Python正则表达式过滤敏感词的方法
2019/01/21 Python
django模板结构优化的方法
2019/02/28 Python
简单了解python代码优化小技巧
2019/07/08 Python
信号生成及DFT的python实现方式
2020/02/25 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
工作分析计划书
2014/04/30 职场文书
基于CSS3画一个iPhone
2021/04/21 HTML / CSS
Python类方法总结讲解
2021/07/26 Python
MySQL索引 高效获取数据的数据结构
2022/05/02 MySQL