柳暗花明笔记

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

    所属分类:[ php&web ] 猫哲学家 发表于:2012-07-21 23:32 浏览:446

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

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

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

    判断浏览器类型:

    echo $_SERVER["HTTP_USER_AGENT"];
    判断浏览器语言:

    echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
    判断浏览器类型的具体程序如下:

    if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0")) echo "Internet Explorer 8.0";
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0")) echo "Internet Explorer 7.0";
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0")) echo "Internet Explorer 6.0";
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3")) echo "Firefox 3";
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2")) echo "Firefox 2";
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome")) echo "Google Chrome";
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari")) echo "Safari";
    else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera")) echo "Opera";
    else echo $_SERVER["HTTP_USER_AGENT"];

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

    $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4);
    //只取前4位,这样只判断最优先的语言。如果取前5位,可能出现en,zh的情况,影响判断。
    if (preg_match("/zh-c/i", $lang)) echo "简体中文";
    else if (preg_match("/zh/i", $lang)) echo "繁體中文";
    else if (preg_match("/en/i", $lang)) echo "English";
    else if (preg_match("/fr/i", $lang)) echo "French";
    else if (preg_match("/de/i", $lang)) echo "German";
    else if (preg_match("/jp/i", $lang)) echo "Japanese";
    else if (preg_match("/ko/i", $lang)) echo "Korean";
    else if (preg_match("/es/i", $lang)) echo "Spanish";
    else if (preg_match("/sv/i", $lang)) echo "Swedish";
    else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];

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

    标签: php 
    下一编文章 Mysql全文搜索match…against的用法
    最近文章
    发表评论