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

虽然现在利用jquery可以准确地判断出当前使用的是那种客户端,但是有时候根据功能和需求,我们可能需要用php来判断当前程序运行的环境,jquery在这里就不说了,这里直接讲讲php是怎么实现的,希望对大家有所帮助。

  1. 我们首先来判断当前运行环境是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();//输出目前客户使用的终端



以上代码都是自己运行成功之后贴出来分享的内容,所以大家可以在自己的环境下调试,如果交流可以加QQ群:416120342

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值