如何让PHP自动识别并适应移动终端访问?
- 内容介绍
- 文章标签
- 相关推荐
本文共计710个文字,预计阅读时间需要3分钟。
利用jQuery可以方便地判断当前使用的是哪种客户端,但有时根据功能需求和性能要求,我们可能需要使用PHP来进一步判断当前程序运行的特定环境。下面直接讲解PHP是如何实现这一点的:
php
// 检查PHP版本echo 当前PHP版本为: . PHP_VERSION . 。;
// 检查是否开启了某个特定功能或模块if (extension_loaded('some_extension')) { echo 已开启some_extension模块。;} else { echo 未开启some_extension模块。;}
// 检查服务器信息echo 服务器信息: . $_SERVER['SERVER_SOFTWARE'] . 。;
// 检查操作系统echo 操作系统: . PHP_OS . 。;
// 检查是否为命令行运行if (PHP_SAPI=='cli') { echo 程序在命令行运行。;} else { echo 程序在Web服务器上运行。;}?>
这段PHP代码通过检查HTTP连接类型、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();//输出目前客户使用的终端
以上代码都是自己运行成功之后贴出来分享的内容,所以大家可以在自己的环境下调试。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。
本文共计710个文字,预计阅读时间需要3分钟。
利用jQuery可以方便地判断当前使用的是哪种客户端,但有时根据功能需求和性能要求,我们可能需要使用PHP来进一步判断当前程序运行的特定环境。下面直接讲解PHP是如何实现这一点的:
php
// 检查PHP版本echo 当前PHP版本为: . PHP_VERSION . 。;
// 检查是否开启了某个特定功能或模块if (extension_loaded('some_extension')) { echo 已开启some_extension模块。;} else { echo 未开启some_extension模块。;}
// 检查服务器信息echo 服务器信息: . $_SERVER['SERVER_SOFTWARE'] . 。;
// 检查操作系统echo 操作系统: . PHP_OS . 。;
// 检查是否为命令行运行if (PHP_SAPI=='cli') { echo 程序在命令行运行。;} else { echo 程序在Web服务器上运行。;}?>
这段PHP代码通过检查HTTP连接类型、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();//输出目前客户使用的终端
以上代码都是自己运行成功之后贴出来分享的内容,所以大家可以在自己的环境下调试。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

