使用php判斷瀏覽器的類(lèi)型和語(yǔ)言的函數(shù)代碼
我們經(jīng)常看到有一些網(wǎng)站上面會(huì)顯示出你目前使用的瀏覽器類(lèi)型和使用的語(yǔ)言,比如顯示的是:您使用的瀏覽器為 IE6,繁體字。看起來(lái)是不是很炫。
其實(shí)這樣的功能不難實(shí)現(xiàn),無(wú)非就是判斷瀏覽器的類(lèi)型和語(yǔ)言,如果用JS來(lái)做應(yīng)該很簡(jiǎn)單,這里我們看看用PHP來(lái)怎么實(shí)現(xiàn)這樣的功能,既然是在做判斷,就可以用PHP的條件語(yǔ)句if..else來(lái)判斷實(shí)現(xiàn)。
判斷瀏覽器類(lèi)型:
<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>
判斷瀏覽器語(yǔ)言:
<?php echo $_SERVER["HTTP_ACCEPT_LANGUAGE"]; ?>
判斷瀏覽器類(lèi)型的具體程序如下:
<?php
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"];
?>
判斷瀏覽器語(yǔ)言的具體程序如下:
<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,這樣只判斷最優(yōu)先的語(yǔ)言。如果取前5位,可能出現(xiàn)en,zh的情況,影響判斷。
if (preg_match("/zh-c/i", $lang))
echo "簡(jiǎn)體中文";
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"];
?>
小結(jié):判斷瀏覽器類(lèi)型主要是靠分析_SERVER["HTTP_USER_AGENT"]的內(nèi)容,而分析瀏覽器語(yǔ)言則是分析_SERVER["HTTP_ACCEPT_LANGUAGE"]。
原理:因?yàn)闉g覽器在和服務(wù)器連接時(shí)候都會(huì)先發(fā)送一些包含自己信息的內(nèi)容(瀏覽器類(lèi)型、語(yǔ)言)。所以這里我們主要分析的是_SERVER["HTTP_USER_AGENT"](瀏覽器類(lèi)型)和_SERVER["HTTP_ACCEPT_LANGUAGE"](瀏覽器語(yǔ)言)。我們所要做的就是把這些內(nèi)容讀出來(lái),然后用strpos或者preg_match函數(shù)來(lái)對(duì)比就可以了,根據(jù)程序的設(shè)計(jì)我們還可以將頁(yè)面設(shè)計(jì)得更漂亮一些出來(lái)。
- PHP獲取用戶(hù)的瀏覽器與操作系統(tǒng)信息的代碼
- PHP下利用header()函數(shù)設(shè)置瀏覽器緩存的代碼
- php禁止直接從瀏覽器輸入地址訪問(wèn).php文件的方法
- 使用PHP curl模擬瀏覽器抓取網(wǎng)站信息
- PHP計(jì)劃任務(wù)之關(guān)閉瀏覽器后仍然繼續(xù)執(zhí)行的函數(shù)
- PHP限制頁(yè)面只能在微信自帶瀏覽器訪問(wèn)的代碼
- PHP實(shí)現(xiàn)提取一個(gè)圖像文件并在瀏覽器上顯示的代碼
- PHP curl模擬瀏覽器采集阿里巴巴的實(shí)現(xiàn)代碼
- php中修改瀏覽器的User-Agent來(lái)偽裝你的瀏覽器和操作系統(tǒng)
- php獲取訪問(wèn)者瀏覽頁(yè)面的瀏覽器類(lèi)型
相關(guān)文章
php實(shí)現(xiàn)的Cookies操作類(lèi)實(shí)例
這篇文章主要介紹了php實(shí)現(xiàn)的Cookies操作類(lèi)及其用法實(shí)例,包括了常見(jiàn)了保存、讀取、更新及清除cookie等操作,在需要進(jìn)行cookie操作時(shí)非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-09-09
PHP 開(kāi)發(fā)環(huán)境配置(Zend Server安裝)
運(yùn)行安裝文件(ZendServer-CE-php-5.3.2-5.0.1-Windows_x86.exe)開(kāi)始安裝,選項(xiàng)請(qǐng)參照我的選擇。2010-04-04
PHP實(shí)現(xiàn)操作redis的封裝類(lèi)完整實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)操作redis的封裝類(lèi),以完整實(shí)例形式較為詳細(xì)的分析了PHP操作redis的自定義類(lèi)及其相關(guān)使用方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11
隱藏Nginx或Apache以及PHP的版本號(hào)的方法
這篇文章主要介紹了隱藏Nginx或Apache以及PHP的版本號(hào)的方法,主要用來(lái)防止針對(duì)性的漏洞攻擊,需要的朋友可以參考下2016-01-01
PHP mongodb操作類(lèi)定義與用法示例【適合mongodb2.x和mongodb3.x】
這篇文章主要介紹了PHP mongodb操作類(lèi)定義與用法,結(jié)合實(shí)例形式分析了php封裝的適合mongodb2.x和mongodb3.x版本MongoDB數(shù)據(jù)庫(kù)連接、增刪改查、錯(cuò)誤處理等操作定義與使用方法,需要的朋友可以參考下2018-06-06
PHP數(shù)據(jù)對(duì)象映射模式實(shí)例分析
這篇文章主要介紹了PHP數(shù)據(jù)對(duì)象映射模式,結(jié)合實(shí)例形式分析了php數(shù)據(jù)對(duì)象模式原理、定義與相關(guān)使用方法,需要的朋友可以參考下2019-03-03
php中運(yùn)用http調(diào)用的GET和POST方法示例
調(diào)用的GET和POST方法,使用到的函數(shù)是curl_init, curl_setopt, curl_exec,curl_close,默認(rèn)是GET方法2014-09-09

