Advertisement
Guest User

Untitled

a guest
Dec 11th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. <?php
  2. function getBrowser()
  3. {
  4. $u_agent = $_SERVER['HTTP_USER_AGENT'];
  5. $bname = 'Unknown';
  6. $platform = 'Unknown';
  7. $version= "";
  8.  
  9. //First get the platform?
  10. if (preg_match('/linux/i', $u_agent)) {
  11. $platform = 'linux';
  12. }
  13. elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
  14. $platform = 'mac';
  15. }
  16. elseif (preg_match('/windows|win32/i', $u_agent)) {
  17. $platform = 'windows';
  18. }
  19.  
  20. // Next get the name of the useragent yes seperately and for good reason
  21. if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
  22. {
  23. $bname = 'Internet Explorer';
  24. $ub = "MSIE";
  25. }
  26. elseif(preg_match('/Firefox/i',$u_agent))
  27. {
  28. $bname = 'Mozilla Firefox';
  29. $ub = "Firefox";
  30. }
  31. elseif(preg_match('/Chrome/i',$u_agent))
  32. {
  33. $bname = 'Google Chrome';
  34. $ub = "Chrome";
  35. }
  36. elseif(preg_match('/Safari/i',$u_agent))
  37. {
  38. $bname = 'Apple Safari';
  39. $ub = "Safari";
  40. }
  41. elseif(preg_match('/Opera/i',$u_agent))
  42. {
  43. $bname = 'Opera';
  44. $ub = "Opera";
  45. }
  46. elseif(preg_match('/Netscape/i',$u_agent))
  47. {
  48. $bname = 'Netscape';
  49. $ub = "Netscape";
  50. }
  51.  
  52. // finally get the correct version number
  53. $known = array('Version', $ub, 'other');
  54. $pattern = '#(?<browser>' . join('|', $known) .
  55. ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
  56. if (!preg_match_all($pattern, $u_agent, $matches)) {
  57. // we have no matching number just continue
  58. }
  59.  
  60. // see how many we have
  61. $i = count($matches['browser']);
  62. if ($i != 1) {
  63. //we will have two since we are not using 'other' argument yet
  64. //see if version is before or after the name
  65. if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
  66. $version= $matches['version'][0];
  67. }
  68. else {
  69. $version= $matches['version'][1];
  70. }
  71. }
  72. else {
  73. $version= $matches['version'][0];
  74. }
  75.  
  76. // check if we have a number
  77. if ($version==null || $version=="") {$version="?";}
  78.  
  79. return array(
  80. 'userAgent' => $u_agent,
  81. 'name' => $bname,
  82. 'version' => $version,
  83. 'platform' => $platform,
  84. 'pattern' => $pattern
  85. );
  86. }
  87.  
  88. // now try it
  89. $ua=getBrowser();
  90. $yourbrowser= "Your browser: " . $ua['name'] . " " . $ua['version'] . " on " .$ua['platform'] . " reports: <br >" . $ua['userAgent'];
  91. print_r($yourbrowser);
  92. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement