我想确定服务器代码中的浏览器类型。
实际上,我花了太多时间来攻击 HTML / CSS ,以使网站在所有浏览器中保持一致。唯一不同(错误地)呈现网站的浏览器是IE,因此我想通知用户,以便他们理解为什么页面不像他们期望的那样。
为此,我只对检测来自IE的请求感兴趣,以便我可以通知IE用户该网站最好使用其他网络浏览器查看。
我认为浏览器类型是作为GET请求的一部分在其中一个HTTP标头中发送的。我想在我的逻辑中使用它。还有更好的方法吗?
代码段非常有用。类似的东西:
<?php
$flag = $_GET(SOME_VARIABLE); // check if it is ANY IE version
?>
答案 0 :(得分:3)
您可以查看$ _SERVER ['HTTP_USER_AGENT']:)
答案 1 :(得分:2)
PHP的get_browser
功能对你来说应该是完美的 -
get_browser - 告诉用户浏览器的功能
返回值 - 信息在对象或数组中返回,该对象或数组将包含各种数据元素,例如,表示浏览器的主要和次要版本号以及ID字符串;帧,JavaScript和cookie等功能的TRUE / FALSE值;等等。
$browser = get_browser(null, true);
此函数可以返回包含有关用户浏览器的大量信息的数组
Array
(
...
[platform] => WinXP
[browser] => Firefox
[version] => 0.9
[majorver] => 0
[minorver] => 9
...
)
答案 2 :(得分:1)
互联网上充满了浏览器检测功能
function detect_ie(){
if (isset($_SERVER['HTTP_USER_AGENT']) &&
(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)){
return true;
}else{
return false;
}
}
答案 3 :(得分:0)
如果你想更具体一点,你可以尝试。
function getBrowser()
{
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$bname = 'Unknown';
$platform = 'Unknown';
$version= "";
if (preg_match('/linux/i', $u_agent))
{
$platform = 'linux';
}
elseif (preg_match('/macintosh|mac os x/i', $u_agent))
{
$platform = 'mac';
}
elseif (preg_match('/windows|win32/i', $u_agent))
{
$platform = 'windows';
}
if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
{
$bname = 'Internet Explorer';
$ub = "MSIE";
}
elseif(preg_match('/Firefox/i',$u_agent))
{
$bname = 'Mozilla Firefox';
$ub = "Firefox";
}
elseif(preg_match('/Chrome/i',$u_agent))
{
$bname = 'Google Chrome';
$ub = "Chrome";
}
elseif(preg_match('/Safari/i',$u_agent))
{
$bname = 'Apple Safari';
$ub = "Safari";
}
elseif(preg_match('/Opera/i',$u_agent))
{
$bname = 'Opera';
$ub = "Opera";
}
elseif(preg_match('/Netscape/i',$u_agent))
{
$bname = 'Netscape';
$ub = "Netscape";
}
$known = array('Version', $ub, 'other');
$pattern = '#(?' . join('|', $known) .')[/ ]+(?[0-9.|a-zA-Z.]*)#';
if (!preg_match_all($pattern, $u_agent, $matches))
{
}
$i = count($matches['browser']);
if ($i != 1)
{
if (strripos($u_agent,"Version") $u_agent,
'name' => $bname,
'version' => $version,
'platform' => $platform,
'pattern' => $pattern
);
}
答案 4 :(得分:0)
这将执行trick,但您也应该使用JavaScript在客户端执行此操作。