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 相关文章推荐
很实用的一个完整email发送程序
Oct 09 PHP
PHP中使用crypt()实现用户身份验证的代码
Sep 05 PHP
从PHP $_SERVER相关参数判断是否支持Rewrite模块
Sep 26 PHP
smarty缓存用法分析
Dec 16 PHP
PHP.ini安全配置检测工具pcc简单介绍
Jul 02 PHP
Smarty简单生成表单元素的方法示例
May 23 PHP
php封装单文件上传到数据库(路径)
Oct 15 PHP
PHP将整数数字转换为罗马数字实例分享
Mar 17 PHP
php生成静态页面并实现预览功能
Jun 27 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
Mar 26 PHP
PHP正则表达式之RCEService回溯
Apr 11 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
JS滚轮事件onmousewheel使用介绍
2013/11/01 Javascript
js实现回放拖拽轨迹从过程上进行分析
2014/06/26 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
移动端利用H5实现压缩图片上传功能
2017/03/29 Javascript
基于node.js的fs核心模块读写文件操作(实例讲解)
2017/09/10 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
Vuex实现数据共享的方法
2019/12/20 Javascript
vue 出现data-v-xxx的原因及解决
2020/08/04 Javascript
[05:20]卡尔工作室_DOTA2新手教学_DOTA2超强新手功能
2013/04/22 DOTA
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
python实现批量按比例缩放图片效果
2018/03/30 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
python之列表推导式的用法
2019/11/29 Python
django框架ModelForm组件用法详解
2019/12/11 Python
Python 写了个新型冠状病毒疫情传播模拟程序
2020/02/14 Python
Python爬取酷狗MP3音频的步骤
2021/02/26 Python
HTML5 视频播放(video),JavaScript控制视频的实例代码
2018/10/08 HTML / CSS
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
JD Sports德国官网:英国领先的运动鞋和运动服饰零售商
2018/02/26 全球购物
匡威西班牙官网:Converse西班牙
2019/10/01 全球购物
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
BannerBuzz加拿大:在线定制横幅印刷、广告和标志
2020/03/10 全球购物
存储过程的优点有哪些
2012/09/27 面试题
新媒传信软件测试面试题
2013/02/24 面试题
就业协议书范本
2014/04/11 职场文书
学习雷锋演讲稿
2014/05/10 职场文书
婚纱店策划方案
2014/05/22 职场文书
离婚财产分配协议书
2014/10/21 职场文书
个人股份转让协议书范本
2014/10/26 职场文书
2015年社区矫正工作总结
2015/04/21 职场文书
2015年度公共机构节能工作总结
2015/05/26 职场文书
史上最全的军训拉歌口号
2015/12/25 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
超详细Python解释器新手安装教程
2021/05/10 Python
Nginx设置HTTPS的方法步骤 443证书配置方法
2022/03/21 Servers