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 相关文章推荐
POSIX 风格和兼容 Perl 风格两种正则表达式主要函数的类比(preg_match, preg_replace, ereg, ereg_replace)
Oct 12 PHP
通达OA公共代码 php常用检测函数
Dec 14 PHP
sql注入与转义的php函数代码
Jun 17 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
Sep 22 PHP
PHP对文件进行加锁、解锁实例
Jan 23 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
Jan 11 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
Feb 16 PHP
php基于数组函数实现关联表的编辑操作示例
Jul 04 PHP
PHP实现的随机红包算法示例
Aug 14 PHP
PHP 传输会话curl函数的实例详解
Sep 12 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
PHP7如何开启Opcode打造强悍性能详解
May 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
Search Engine Friendly的URL设计
2006/10/09 PHP
PHP中SSO Cookie登录分析和实现
2015/11/06 PHP
LNMP部署laravel以及xhprof安装使用教程
2017/09/14 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
Referer原理与图片防盗链实现方法详解
2019/07/03 PHP
Laravel 自定命令以及生成文件的例子
2019/10/23 PHP
Javascript 对象的解释
2008/11/24 Javascript
javascript 检测浏览器类型和版本的代码
2009/09/15 Javascript
JS和Jquery获取和修改label的值的示例代码
2014/01/15 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
jQuery中:eq()选择器用法实例
2014/12/29 Javascript
js插件YprogressBar实现漂亮的进度条效果
2015/04/20 Javascript
javascript父子页面通讯实例详解
2015/07/17 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
JS只能输入正整数的简单实例
2016/10/07 Javascript
nodejs require js文件入口,在package.json中指定默认入口main方法
2018/10/10 NodeJs
Python 代码性能优化技巧分享
2012/08/07 Python
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
Python实现Linux监控的方法
2019/05/16 Python
OpenCV 边缘检测
2019/07/10 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
HTML5 新旧语法标记对我们有什么好处
2012/12/13 HTML / CSS
localStorage、sessionStorage使用总结
2017/11/17 HTML / CSS
印尼美容产品购物网站:PerfectBeauty.id
2017/12/01 全球购物
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
私营公司诉讼代理委托书范本
2014/09/13 职场文书
纪检干部个人对照检查材料
2014/09/23 职场文书
国庆庆典邀请函
2015/02/02 职场文书
公司搬迁通知
2015/04/20 职场文书
男生贾里读书笔记
2015/06/30 职场文书
幼儿园开学报名通知
2015/07/16 职场文书
查看nginx配置文件路径和资源文件路径的方法
2021/03/31 Servers
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript
Android存储中最基本的文件存储方式
2022/04/30 Java/Android
windows系统搭建WEB服务器详细教程
2022/08/05 Servers