It is actually very simple to use PHP language to determine the browser type.
Because the browser will first send some content containing its own information (browser type, language) when connecting to the server.
Here we mainly analyze _SERVER["HTTP_USER_AGENT"] (browser type) and _SERVER["HTTP_ACCEPT_LANGUAGE"] (browser language).
All we have to do is read these contents and compare them using strpos or preg_match function.
Determine browser type:
Determine browser language:
The specific procedure to determine the browser type is as follows:
01
02 if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 8.0"))
03 echo "Internet Explorer 8.0";
04 else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 7.0"))
05 echo "Internet Explorer 7.0";
06 else if(strpos($_SERVER["HTTP_USER_AGENT"],"MSIE 6.0"))
07 echo "Internet Explorer 6.0";
08 else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/3"))
09 echo "Firefox 3";
10 else if(strpos($_SERVER["HTTP_USER_AGENT"],"Firefox/2"))
11 echo "Firefox 2";
12 else if(strpos($_SERVER["HTTP_USER_AGENT"],"Chrome"))
13 echo "Google Chrome";
14 else if(strpos($_SERVER["HTTP_USER_AGENT"],"Safari"))
15 echo "Safari";
16 else if(strpos($_SERVER["HTTP_USER_AGENT"],"Opera"))
17 echo "Opera";
18 else echo $_SERVER["HTTP_USER_AGENT"];
19 ?>
The specific procedure to determine the browser language is as follows:
01
02 $lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 4); //Only take the first 4 digits, so that only the highest priority language is judged. If you take the first 5 digits, en and zh may occur, which affects the judgment.
03 if (preg_match("/zh-c/i", $lang))
04 echo "Simplified Chinese";
05 else if (preg_match("/zh/i", $lang))
06 echo "Traditional Chinese";
07 else if (preg_match("/en/i", $lang))
08 echo "English";
09 else if (preg_match("/fr/i", $lang))
10 echo "French";
11 else if (preg_match("/de/i", $lang))
12 echo "German";
13 else if (preg_match("/jp/i", $lang))
14 echo "Japanese";
15 else if (preg_match("/ko/i", $lang))
16 echo "Korean";
17 else if (preg_match("/es/i", $lang))
18 echo "Spanish";
19 else if (preg_match("/sv/i", $lang))
20 echo "Swedish";
21 else echo $_SERVER["HTTP_ACCEPT_LANGUAGE"];
22 ?>
Determining the browser type mainly relies on analyzing the content of _SERVER["HTTP_USER_AGENT"], and analyzing the browser language is analyzing _SERVER["HTTP_ACCEPT_LANGUAGE"].
This article is from “wolf blog”