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相关资料
Oct 09 PHP
十天学会php之第十天
Oct 09 PHP
php 魔术方法使用说明
Oct 20 PHP
9个PHP开发常用功能函数小结
Jul 15 PHP
简单实用的.net DataTable导出Execl
Oct 28 PHP
PHP实现视频文件上传完整实例
Aug 28 PHP
Laravel 5框架学习之路由、控制器和视图简介
Apr 07 PHP
[原创]php逐行读取txt文件写入数组的方法
Jul 02 PHP
php与python实现的线程池多线程爬虫功能示例
Oct 12 PHP
Zend Framework入门教程之Zend_Config组件用法详解
Dec 09 PHP
php关联数组与索引数组及其显示方法
Mar 12 PHP
php快速导入大量数据的实例方法
Sep 23 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中$this->含义分析
2009/11/29 PHP
ThinkPHP添加更新标签的方法
2014/12/05 PHP
PHP检测用户语言的方法
2015/06/15 PHP
PHP符合PSR编程规范的实例分享
2016/12/21 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
PHP多维数组排序array详解
2017/11/21 PHP
php 中self,this的区别和操作方法实例分析
2019/11/04 PHP
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
JavaScript中访问id对象 属性的方式访问属性(实例代码)
2016/10/28 Javascript
Angular-Touch库用法示例
2016/12/22 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
Angularjs中的ui-bootstrap的使用教程
2017/02/19 Javascript
JS简单实现父子窗口传值功能示例【未使用iframe框架】
2017/09/20 Javascript
小程序清理本地缓存的方法
2018/08/17 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
使用flow来规范javascript的变量类型
2019/09/12 Javascript
详解字典树Trie结构及其Python代码实现
2016/06/03 Python
python 类对象和实例对象动态添加方法(分享)
2017/12/31 Python
详解python使用Nginx和uWSGI来运行Python应用
2018/01/09 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
python 实现单例模式的5种方法
2020/09/23 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
西班牙第一的网上药房:PromoFarma.com
2017/04/17 全球购物
美国婚戒购物网站:Anjays Designs
2017/06/28 全球购物
越南母婴用品购物网站:Kids Plaza
2020/04/09 全球购物
计算机求职信
2013/12/01 职场文书
简历自我评价怎么写呢?
2014/01/06 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
外国人聘用意向书
2014/04/01 职场文书
幼儿园毕业寄语
2014/04/03 职场文书
小学生清明节演讲稿
2014/09/05 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
工资证明格式模板
2015/06/12 职场文书
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python