我需要代码来检查浏览器类型我想要的是这样的
<?php
//check browser type
if( $browserTYPE = 'Firefox')
{
echo ('1');
}
else echo('2');
F1! F1!
答案 0 :(得分:3)
$_SERVER['HTTP_USER_AGENT'];
这可以与get_browser()
http://php.net/get_browser
在你的情况下,我会建议:
<?php
$browser = get_browser(null, true);
$browserTYPE = $browser['browser'];
答案 1 :(得分:3)
首先,你为什么需要这样做? Firefox(在您的示例中)与Chrome,Opera,Safari,IE等有何不同,您需要专门检查它的是什么?那么不同版本的浏览器呢(Firefox 2仍然是Firefox,但与当前版本非常不同)?
无论如何,如果你真的需要这样做,那么正如其他人所说,确定的官方方法是查看用户代理字符串:
if(strpos($_SERVER[‘HTTP_USER_AGENT’],'Firefox') {
//user runs firefox
} else {
//user runs something else.
}
PHP还提供了一个function called get_browser()
,它使事情变得更容易(您不必知道用户代理字符串的格式,但在内部它本身使用与上面相同的用户代理字符串,并且文档页面说,你需要有一个browsecap.ini
文件 - 阅读文档页面以了解更多信息。
$browser = get_browser(null, true);
if($browser == 'Firefox') {
//user runs firefox
}
但是,请记住,最终用户可以在其浏览器配置中更改用户代理字符串。这被广泛使用,特别是在网站试图阻止特定浏览器的情况下。
因此,无论您从用户代理字符串中获取什么信息,您都无法确定它是否准确无误。可能是Firefox假装是IE或Chrome假装是Firefox,或任何其他组合。
他们甚至可以完全阻止用户代理字符串(我知道至少有一个Web安全产品默认执行此操作而用户甚至不知道它。)
除此之外,还有更多的浏览器。除了少数众所周知的,大多数其他人使用主要渲染引擎。例如,Flock和Iceweasel使用Firefox引擎,因此它们的页面与Firefox完全一样,但它们可能不会在用户代理字符串中显示为Firefox。还有一大堆浏览器以类似的方式使用IE渲染引擎。
所以简短的回答是阅读用户代理字符串,但长答案不依赖于它是准确的。
答案 2 :(得分:2)
if(stristr($_SERVER['HTTP_USER_AGENT'],"Firefox") !== false){
//Uses firefox
}else{
//Does nto use firefox
}
答案 3 :(得分:0)