龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

PHP判断浏览器类型和浏览器语言

时间:2011-08-22 15:35来源:未知 作者:admin 点击:
分享到:
用php语言来判断浏览器类型其实很简单。 因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型、语言啦)。 这里我们主要分析的是_SERVER[HTTP_USER_AGENT](浏览

用php语言来判断浏览器类型其实很简单。
因为浏览器在和服务器连接时候都会先发送一些包含自己信息的内容(浏览器类型、语言啦)。

这里我们主要分析的是_SERVER["HTTP_USER_AGENT"](浏览器类型)和_SERVER["HTTP_ACCEPT_LANGUAGE"](浏览器语言)。

我们所要做的就是把这些内容读出来,然后用strpos或者preg_match函数来对比就可以了。

判断浏览器类型:

<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>

判断浏览器语言:

<?php echo $_SERVER["HTTP_ACCEPT_LANGUAGE"]; ?>

判断浏览器类型的具体程序如下:

PHP Code复制内容到剪贴板
  1. <?php     
  2.   
  3.  if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0"))     
  4.   
  5.  echo "Internet Explorer 8.0";     
  6.   
  7.  else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0"))     
  8.   
  9.  echo "Internet Explorer 7.0";     
  10.   
  11.  else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0"))     
  12.   
  13.  echo "Internet Explorer 6.0";     
  14.   
  15.  else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3"))     
  16.   
  17.  echo "Firefox 3";     
  18.   
  19.  else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2"))     
  20.   
  21.  echo "Firefox 2";     
  22.   
  23.  else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))     
  24.   
  25.  echo "Google Chrome";     
  26.   
  27.  else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))     
  28.   
  29.  echo "Safari";     
  30.   
  31.  else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))     
  32.   
  33.  echo "Opera";     
  34.   
  35.  else echo $_SERVER["HTTP_USER_AGENT"];     
  36.   
  37.  ?>   

判断浏览器语言的具体程序如下:

PHP Code复制内容到剪贴板
  1. <?php     
  2.   
  3.  $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。     
  4.   
  5.  if (preg_match("/zh-c/i"$lang))     
  6.   
  7.  echo "简体中文";     
  8.   
  9.  else if (preg_match("/zh/i"$lang))     
  10.   
  11.  echo "繁體中文";     
  12.   
  13.  else if (preg_match("/en/i"$lang))     
  14.   
  15.  echo "English";     
  16.   
  17.  else if (preg_match("/fr/i"$lang))     
  18.   
  19.  echo "French";     
  20.   
  21.  else if (preg_match("/de/i"$lang))     
  22.   
  23.  echo "German";     
  24.   
  25.  else if (preg_match("/jp/i"$lang))     
  26.   
  27.  echo "Japanese";     
  28.   
  29.  else if (preg_match("/ko/i"$lang))     
  30.   
  31.  echo "Korean";     
  32.   
  33.  else if (preg_match("/es/i"$lang))     
  34.   
  35.  echo "Spanish";     
  36.   
  37.  else if (preg_match("/sv/i"$lang))     
  38.   
  39.  echo "Swedish";     
  40.   
  41.  else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];     
  42.   
  43.  ?>   

 

判断浏览器类型主要是靠分析_SERVER["HTTP_USER_AGENT"]的内容,而分析浏览器语言则是分析_SERVER["HTTP_ACCEPT_LANGUAGE"]。


精彩图集

赞助商链接