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 相关文章推荐
利用discuz实现PHP大文件上传应用实例代码
Nov 14 PHP
PHP 加密/解密函数 dencrypt(动态密文,带压缩功能,支持中文)
Jan 30 PHP
php一个找二层目录的小东东
Aug 02 PHP
PHP读取文件并可支持远程文件的代码分享
Oct 03 PHP
php设计模式之单例模式使用示例
Jan 20 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
Jul 28 PHP
ThinkPHP模板中数组循环实例
Oct 30 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
May 13 PHP
3种方法轻松处理php开发中emoji表情的问题
Jul 18 PHP
PHP封装的非对称加密RSA算法示例
May 28 PHP
php7下的filesize函数
Sep 30 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
Jul 13 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使用GeoIP库实例
2014/06/27 PHP
WampServer下安装多个版本的PHP、mysql、apache图文教程
2015/01/07 PHP
php实现的错误处理封装类实例
2017/06/20 PHP
ThinkPHP5框架缓存查询操作分析
2018/05/30 PHP
Laravel 集成微信用户登录和绑定的实现
2019/12/27 PHP
JS解析XML的实现代码
2009/11/12 Javascript
Javascript 二维数组
2009/11/26 Javascript
Prototype源码浅析 Number部分
2012/01/16 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
JQuery显示隐藏页面元素的方法总结
2015/04/16 Javascript
Jquery揭秘系列:ajax原生js实现详解(推荐)
2016/06/08 Javascript
JS实现拖动滚动条评分的效果代码分享
2016/09/29 Javascript
AngularJs表单验证实例代码解析
2016/11/29 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
Angular.js基础学习之初始化
2017/03/10 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
vue+webpack 打包文件 404 页面空白的解决方法
2018/02/28 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
微信小程序设置全局请求URL及封装wx.request请求操作示例
2019/04/02 Javascript
js实现倒计时秒杀效果
2020/03/25 Javascript
webpack.DefinePlugin与cross-env区别详解
2020/02/23 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
[15:58]DOTA2国际邀请赛采访专栏:Tongfu.Sansheng&KingJ,DK.rOtk
2013/08/08 DOTA
Python中使用PDB库调试程序
2015/04/05 Python
Python计算字符宽度的方法
2016/06/14 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
Python3 io文本及原始流I/O工具用法详解
2020/03/23 Python
matplotlib阶梯图的实现(step())
2021/03/02 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
Otticanet意大利:最顶尖的世界名牌眼镜, 能得到打折季的价格
2019/03/10 全球购物
Herschel Supply Co.美国:背包、手提袋及配件
2020/11/24 全球购物
工商学院毕业生个人自我评价
2013/09/19 职场文书
酒店经理职责
2014/01/30 职场文书
教学评估实施方案
2014/03/16 职场文书
公安民警正风肃纪剖析材料
2014/10/10 职场文书
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫