Prikazi cijelu temu 28.10.2021 10:19
Avko Van mreze
Administrator
Registrovan od:28.05.2014
Lokacija:zagreb


Predmet:Re:Detekcija browsera
local server: UwAmp
ime datoteke: index.html
kod:
PreuzmiIzvorni kôd (HTML):
  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>

my-app
ime foldera: detekcija browsera

rezultat:
' . join('|', $known) . ')[/ ]+(?[0-9.|a-zA-Z.]*)#'; if (!preg_match_all($pattern, $u_agent, $matches)) { // we have no matching number just continue } // see how many we have $i = count($matches['browser']); if ($i != 1) { //we will have two since we are not using 'other' argument yet //see if version is before or after the name if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){ $version= $matches['version'][0]; }else { $version= $matches['version'][1]; } }else { $version= $matches['version'][0]; } // check if we have a number if ($version==null || $version=="") {$version="?";} return array( 'userAgent' => $u_agent, 'name' => $bname, 'version' => $version, 'platform' => $platform, 'pattern' => $pattern ); } // now try it $ua=getBrowser(); $yourbrowser= "Your browser: " . $ua['name'] . " " . $ua['version'] . " on " .$ua['platform'] . " reports:
" . $ua['userAgent']; print_r($yourbrowser); ?>
zivot je moja domovina.
Ovaj post je ureden 1 puta. Posljednja izmjena 28.10.2021 10:19 od strane Avko.