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设计模式 Bridge (桥接模式)
Jun 26 PHP
生成随机字符串和验证码的类的PHP实例
Dec 24 PHP
Codeigniter操作数据库表的优化写法总结
Jun 12 PHP
php绘制一个矩形的方法
Jan 24 PHP
phpcms手机内容页面添加上一篇和下一篇
Jun 05 PHP
PHP开发中AJAX技术的简单应用
Dec 11 PHP
PHP list() 将数组中的值赋给变量的简单实例
Jun 13 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
php实现通过soap调用.Net的WebService asmx文件
Feb 27 PHP
PHP实现基于栈的后缀表达式求值功能
Nov 10 PHP
php语法检查的方法总结
Jan 21 PHP
详解PHP素材图片上传、下载功能
Apr 12 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
JavaScript开发时的五个注意事项
2007/12/08 Javascript
javascript实现密码强度显示
2015/03/18 Javascript
js实现瀑布流的三种方式比较
2020/06/28 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
JS如何判断json是否为空
2016/07/06 Javascript
JS触发服务器控件的单击事件(详解)
2016/08/06 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
bootstrap配合Masonry插件实现瀑布式布局
2017/01/18 Javascript
Javascript实现时间倒计时效果
2017/07/15 Javascript
JavaScript数组的5种迭代方法
2017/09/29 Javascript
详细教你微信公众号正文页SVG交互开发技巧
2019/07/25 Javascript
解决Vue.js应用回退或刷新界面时提示用户保存修改问题
2019/11/24 Javascript
Vue关于组件化开发知识点详解
2020/05/13 Javascript
Vue+Java+Base64实现条码解析的示例
2020/09/23 Javascript
django 自定义用户user模型的三种方法
2014/11/18 Python
python实现简单socket程序在两台电脑之间传输消息的方法
2015/03/13 Python
Python CSV模块使用实例
2015/04/09 Python
Flask框架的学习指南之用户登录管理
2016/11/20 Python
django Serializer序列化使用方法详解
2018/10/16 Python
pytorch 图像预处理之减去均值,除以方差的实例
2020/01/02 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
2020/02/11 Python
python构造IP报文实例
2020/05/05 Python
django跳转页面传参的实现
2020/09/17 Python
奥地利网上书店:Weltbild
2017/07/14 全球购物
结构工程研究生求职信
2013/10/13 职场文书
幼儿园数学教学反思
2014/02/02 职场文书
情人节寄语大全
2014/04/11 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
廉洁教育学习材料
2014/05/19 职场文书
员工薪酬激励方案
2014/06/13 职场文书
质检员工作总结2015
2015/04/25 职场文书
2015年司法所工作总结
2015/04/27 职场文书
合同审查法律意见书
2015/06/04 职场文书
葬礼主持词
2015/07/02 职场文书
利用js实现简单开关灯代码
2021/11/23 Javascript
javascript进阶篇深拷贝实现的四种方式
2022/07/07 Javascript