使用php判斷瀏覽器的類型和語言的函數(shù)代碼
我們經(jīng)??吹接幸恍┚W(wǎng)站上面會(huì)顯示出你目前使用的瀏覽器類型和使用的語言,比如顯示的是:您使用的瀏覽器為 IE6,繁體字??雌饋硎遣皇呛莒拧?/P>
其實(shí)這樣的功能不難實(shí)現(xiàn),無非就是判斷瀏覽器的類型和語言,如果用JS來做應(yīng)該很簡(jiǎn)單,這里我們看看用PHP來怎么實(shí)現(xiàn)這樣的功能,既然是在做判斷,就可以用PHP的條件語句if..else來判斷實(shí)現(xiàn)。
判斷瀏覽器類型:
<?php echo $_SERVER["HTTP_USER_AGENT"]; ?>
判斷瀏覽器語言:
<?php echo $_SERVER["HTTP_ACCEPT_LANGUAGE"]; ?>
判斷瀏覽器類型的具體程序如下:
<?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"];
?>
判斷瀏覽器語言的具體程序如下:
<?php
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //只取前4位,這樣只判斷最優(yōu)先的語言。如果取前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é):判斷瀏覽器類型主要是靠分析_SERVER["HTTP_USER_AGENT"]的內(nèi)容,而分析瀏覽器語言則是分析_SERVER["HTTP_ACCEPT_LANGUAGE"]。
原理:因?yàn)闉g覽器在和服務(wù)器連接時(shí)候都會(huì)先發(fā)送一些包含自己信息的內(nèi)容(瀏覽器類型、語言)。所以這里我們主要分析的是_SERVER["HTTP_USER_AGENT"](瀏覽器類型)和_SERVER["HTTP_ACCEPT_LANGUAGE"](瀏覽器語言)。我們所要做的就是把這些內(nèi)容讀出來,然后用strpos或者preg_match函數(shù)來對(duì)比就可以了,根據(jù)程序的設(shè)計(jì)我們還可以將頁面設(shè)計(jì)得更漂亮一些出來。
- PHP獲取用戶的瀏覽器與操作系統(tǒng)信息的代碼
- PHP下利用header()函數(shù)設(shè)置瀏覽器緩存的代碼
- php禁止直接從瀏覽器輸入地址訪問.php文件的方法
- 使用PHP curl模擬瀏覽器抓取網(wǎng)站信息
- PHP計(jì)劃任務(wù)之關(guān)閉瀏覽器后仍然繼續(xù)執(zhí)行的函數(shù)
- PHP限制頁面只能在微信自帶瀏覽器訪問的代碼
- PHP實(shí)現(xiàn)提取一個(gè)圖像文件并在瀏覽器上顯示的代碼
- PHP curl模擬瀏覽器采集阿里巴巴的實(shí)現(xiàn)代碼
- php中修改瀏覽器的User-Agent來偽裝你的瀏覽器和操作系統(tǒng)
- php獲取訪問者瀏覽頁面的瀏覽器類型
相關(guān)文章
在PHP上顯示JFreechart畫的統(tǒng)計(jì)圖方法
在JSP上的servlet能完全的顯示出JFreechart畫的統(tǒng)計(jì)圖,但是和其他語言混合運(yùn)用就不能顯示了,下面為大家介紹下如何在PHP上顯示JFreechart2013-11-11用php或asp創(chuàng)建網(wǎng)頁桌面快捷方式的代碼
上傳到網(wǎng)站,shortcut.php 就會(huì)有提示下載一個(gè)名為 張楚網(wǎng)站.urll文件,保存在本地就是一個(gè)快捷方式!2010-03-03php用數(shù)組返回?zé)o限分類的列表數(shù)據(jù)的代碼
php自定義函數(shù)之用數(shù)組返回?zé)o限分類的列表數(shù)據(jù),這樣的實(shí)現(xiàn)可以提高執(zhí)行的效率不要每次都從數(shù)據(jù)庫讀取數(shù)據(jù)。2010-08-08解決dede生成靜態(tài)頁和動(dòng)態(tài)頁轉(zhuǎn)換的一些問題,及火車采集入庫生成動(dòng)態(tài)的辦法
解決dede生成靜態(tài)頁和動(dòng)態(tài)頁轉(zhuǎn)換的一些問題,及火車采集入庫生成動(dòng)態(tài)的辦法...2007-03-03PHP+ajax實(shí)現(xiàn)上傳、刪除、修改單張圖片及后臺(tái)處理邏輯操作詳解
這篇文章主要介紹了PHP+ajax實(shí)現(xiàn)上傳、刪除、修改單張圖片及后臺(tái)處理邏輯操作,結(jié)合實(shí)例形式詳細(xì)分析了前臺(tái)ajax提交圖片上傳、刪除、修改以及后臺(tái)PHP邏輯處理相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2020-02-02Laravel的下載以及使用composer來安裝debugbar擴(kuò)展包圖文教程
這篇文章主要介紹了Laravel的下載以及使用composer來安裝debugbar擴(kuò)展包圖文教程,圖文講解的比較清晰,有不太會(huì)的同學(xué)可以研究下2021-01-01