检查浏览页面的访问者在使用什么浏览器,在一个字符串中搜索另一个字符串

检查浏览页面的访问者在使用什么浏览器:

 要达到这个目的,要检查用户的agent字符串,他是浏览器发送的HTTP请求的一部分,该信息被存储在一个变量中

我们现在感兴趣的变量是$_SERVER['HTTP_USER_AGENT'],

NOTE:$_SERVER是一个特殊的php保留变量,它包含了web服务器所提供的所有信息,被称为超全局变量

 

 

要显示该变量,只要简单进行如下操作:

<?php
echo $SERVER['HTTP_USER_AGENT'];
?>

输出结果可能为:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

$_SERVER只是php自动全局化变量之一。可以再一个php标识里面加入多个php语句。

例如,如果需要识别 IE浏览器,可以进行如下操作:

<?php
if(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')!==FALSE){
   echo '正在使用 Iternet Explorer。<br/>';
}
?>

输出可能是:

正在使用 Iternet Explorer。

下面介绍一下strpos()函数的调用。

strpos是PHP的一个内置函数,其功能是在一个字符串中搜索另一个字符串,上面的那个例子就是在$_SERVER['HTTP_USER_AGENT'](即所谓的haystack)变量中寻找‘MSIE’(即所谓的needle),如果被找到,则函数返回needle在haystack中相对开头的位置,如果没有找到,则返回false。

函数:strtoupper($str),将括号里面的str字符串全部转换成大写

 in strlen($str),计算字符串的长度

 

下面演示如何进出php模式:

<?php 
if(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE')!==FALSE){
?>
<h3>strpos()肯定没有返回假</h3>
<p>正在使用Internet Explorer</p>
<?php } else{?>
<h3>strpos() 可定返回假(FALSE)</h3>
<p>肯定没有使用Internet Explorer</p>
<?php }?>

脚本输出的可能是:

<h3>strpos() 可定没有返回假</h3>
<p>正在使用 Iternet Explorer</p>

和以上我们用echo 输出不同的是,我们跳出了php模式直接来写HTML代码。

这里很值得注意的一点是:对于这两种情况而言,脚本的逻辑效率是相同的。

在判断了strpos()函数的返回值是TRUE或者FALSE,也就是判断了字符串'MSIE'是否被找到之后,最终只有一个html模块发送给浏览者

 

posted @ 2013-05-08 16:44  芭菲雨  阅读(237)  评论(0编辑  收藏  举报