Home  >  Article  >  Backend Development  >  PHP determines the type of client browser

PHP determines the type of client browser

巴扎黑
巴扎黑Original
2016-11-22 15:32:341801browse

1. Use $_SERVER['HTTP_USER_AGENT'] to write a PHP method to determine the browser type.

function my_get_browser(){
if(empty($_SERVER['HTTP_USER_AGENT'])){
return 'Command line, the robot is here! ';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 9.0')){
return 'Internet Explorer 9.0';
}
if(false!==strpos($_SERVER[ 'HTTP_USER_AGENT'],'MSIE 8.0')){
return 'Internet Explorer 8.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0')){
return 'Internet Explorer 7.0';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0')){
return 'Internet Explorer 6.0';
}
if(false!==strpos($ _SERVER['HTTP_USER_AGENT'],'Firefox')){
return 'Firefox';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Chrome')){
return 'Chrome';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'Safari')){
return 'Safari';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'], 'Opera')){
return 'Opera';
}
if(false!==strpos($_SERVER['HTTP_USER_AGENT'],'360SE')){
return '360SE';
}
}

$_SERVER['HTTP_USER_AGENT'] is mainly used here. This constant is used to check what operating system (including version number) browser (including version number) the visitor browsing the page is using and the user's personal preferences. The usage is very simple, just print it out from the program and you will understand.

2. In addition, PHP can also determine the browser type through the PHP system function get_browser() function. This function will return some performance data of the user's browser. This function measures the performance of the user's browser by consulting the user's browscap.ini file. If successful, the function returns an object or array containing the user's browser information, if failed, it returns false.

get_browser syntax

get_browser(user_agent,return_array)

This function has two parameters. The meaning of the parameters is explained as follows:

user_agent optional. Specifies the name of the HTTP user agent. The default is the value of $HTTP_USER_AGENT. You can bypass this parameter by setting NULL.

return_array Optional. If this parameter is set to true, this function will return an array instead of an object.

For the browser information obtained by php through $_SERVER['HTTP_USER_AGENT'] and get_browser, we can understand it through the following example:

echo $_SERVER['HTTP_USER_AGENT'] . "
; Windows NT 5.1; SV1; .NET CLR 1.1.4322)

Array(
[browser_name_regex] => ^mozilla/..0
(compatible; msie 6.0.*;.*windows nt 5.1.*.net clr .*).*$

[browser_name_pattern] => Mozilla/?.0

(compatible; MSIE 6.0*;*Windows NT 5.1*.NET CLR*)*

[parent] => IE 6.0

[platform] => WinXP
[netclr] => 1

[browser] => IE

[version] => 6.0
[majorver] => 6
[minorver] => ; 2
[frames] => 1
[iframes] => 1
[tables] => 1
[cookies] => 1
[backgroundsounds] => 1
[vbscript] => 1
[javascript] => 1
[javaapplets] => 1
[activexcontrols] => 1
[cdf] => 1
[aol] =>
[beta] =>
[win16] =>
[crawler] =>
[stripper] =>
[wap] =>
[ak] =>
[sk] =>
)

But through PHP’s get_browser() function Obtaining client browser-related information is conditional. If you use it directly, the following error will usually be reported:

Warning: get_browser() [function.get-browser]: browscap ini directive not set in ……

By querying the PHP manual, the explanation is: In order to use this function, you must add a configuration point to the browscap.ini file in the php.ini file. The browscap.ini file records all existing browser types and Its information, so you need to download the latest file, download browscap.ini and put it somewhere on the server. When using get_browser(), it compares the obtained client information with this file. If it can be found, it returns the corresponding type.

It seems from the above that it is not cheap to use get_browser() to obtain the browser type!

3. There is another way to use PHP to determine the browser type, which is to use open source code written by a foreign expert. There is a website called mavrick abroad, which has projects about browsers. It keeps updating the Browser class it writes. The latest class I saw can be obtained on platforms including iPhone, BlackBerry, win, mac, linux, OS, BeOS, etc. The browser information function can be said to be very powerful. When downloading this file, you should choose according to the PHP version you are using. Download and study the specific code of this class yourself:

browser-v1-9

The method of using this class is also very simple, as follows:

$obj_browser = new Browser; //Create an instance of this class
$obj_browser ->getBrowser(); //Call the relevant function to get the browser name
$obj_browser->getPlatform(); //Call the relevant function to get the system name
$obj_browser->isMobile(); //Judge the incoming visit The device used by the user is iPhone, iPad or computer (PC)


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn