欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

PHP自动识别当前使用移动终端

程序员文章站 2022-03-14 09:49:13
虽然现在利用jquery可以准确地判断出当前使用的是那种客户端,但是有时候根据功能和需求,我们可能需要用php来判断当前程序运行的环境,jquery在这里就不说了,这里直接...

虽然现在利用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();//输出目前客户使用的终端 

以上代码都是自己运行成功之后贴出来分享的内容,所以大家可以在自己的环境下调试。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。