Prikazi cijelu temu 20.10.2021 15:45
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Lokacija:zagreb


Predmet:Re:Detekcija browsera
Nesto mi ovo nece, a neznam sta je . Nesto prije join

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

zivot je moja domovina.