开源中文网

您的位置: 首页 > PHP > 正文

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

来源: 网络整理  作者: 佚名

虽然现在利用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();//输出目前客户使用的终端
以上代码都是自己运行成功之后贴出来分享的内容,所以大家可以在自己的环境下调试。

Tags:自动识别 终端
关于开源中文网 - 联系我们 - 广告服务 - 网站地图 - 版权声明