Detect real user agent (FREE CODE)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Detect real user agent (FREE CODE)

    Maybe someone need that ..
    Code:
    <?php
    function browser()
    {
        $u_agent = $_SERVER['HTTP_USER_AGENT'];
        $bname = 'Unknown';
        $platform = 'Unknown';
        $version= "";
        if (preg_match('/linux/i', $u_agent)) {
            $platform = 'linux';
        }
        elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
            $platform = 'mac';
        }
        elseif (preg_match('/windows|win32/i', $u_agent)) {
            $platform = 'windows';
        }
        if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
        {
            $bname = 'Internet Explorer';
            $ub = "MSIE";
        }
        elseif(preg_match('/Firefox/i',$u_agent))
        {
            $bname = 'Mozilla Firefox';
            $ub = "Firefox";
        }
        elseif(preg_match('/Chrome/i',$u_agent))
        {
            $bname = 'Google Chrome';
            $ub = "Chrome";
        }
        elseif(preg_match('/Safari/i',$u_agent))
        {
            $bname = 'Apple Safari';
            $ub = "Safari";
        }
        elseif(preg_match('/Opera/i',$u_agent))
        {
            $bname = 'Opera';
            $ub = "Opera";
        }
        elseif(preg_match('/Netscape/i',$u_agent))
        {
            $bname = 'Netscape';
            $ub = "Netscape";
        }
        $known = array('Version', $ub, 'other');
        $pattern = '#(?<browser>' . join('|', $known) .
        ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
        if (!preg_match_all($pattern, $u_agent, $matches)) {
        }
        $i = count($matches['browser']);
        if ($i != 1) {
            if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
                $version= $matches['version'][0];
            }
            else {
                $version= $matches['version'][1];
            }
        }
        else {
            $version= $matches['version'][0];
        }
        if ($version==null || $version=="") {$version="?";}
       
        return array(
            'userAgent' => $u_agent,
            'name'      => $bname,
            'version'   => $version,
            'platform'  => $platform,
            'pattern'    => $pattern
        );
    }
    $ua= browser();
    echo "Real Browser : ".$ua['name']."<br>\n";
    echo "Version : ".$ua['version']."<br>\n";
    echo "Operating system : ".$ua['platform']."<br>\n";
    echo "Old  : ".$ua['userAgent']."<br>\n";
    ?>
    Demo : http://wapy.mobi/browser .
    If that helped you , say thank's .

    #2
    dected nothing
    Browser Real : Opera
    Versiune : Mini
    Sistem : Unknown
    Browser Fake : Opera/9.80
    (Series 60; Opera
    Mini/5.1.22396/25.677; U; en) Presto/2.5.25 Version/10.54 :/

    Comment


      #3
      Originally posted by mtz View Post
      Maybe someone need that ..
      Code:
      <?php
      function browser()
      {
          $u_agent = $_SERVER['HTTP_USER_AGENT'];
          $bname = 'Unknown';
          $platform = 'Unknown';
          $version= "";
          if (preg_match('/linux/i', $u_agent)) {
              $platform = 'linux';
          }
          elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
              $platform = 'mac';
          }
          elseif (preg_match('/windows|win32/i', $u_agent)) {
              $platform = 'windows';
          }
          if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
          {
              $bname = 'Internet Explorer';
              $ub = "MSIE";
          }
          elseif(preg_match('/Firefox/i',$u_agent))
          {
              $bname = 'Mozilla Firefox';
              $ub = "Firefox";
          }
          elseif(preg_match('/Chrome/i',$u_agent))
          {
              $bname = 'Google Chrome';
              $ub = "Chrome";
          }
          elseif(preg_match('/Safari/i',$u_agent))
          {
              $bname = 'Apple Safari';
              $ub = "Safari";
          }
          elseif(preg_match('/Opera/i',$u_agent))
          {
              $bname = 'Opera';
              $ub = "Opera";
          }
          elseif(preg_match('/Netscape/i',$u_agent))
          {
              $bname = 'Netscape';
              $ub = "Netscape";
          }
          $known = array('Version', $ub, 'other');
          $pattern = '#(?<browser>' . join('|', $known) .
          ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
          if (!preg_match_all($pattern, $u_agent, $matches)) {
          }
          $i = count($matches['browser']);
          if ($i != 1) {
              if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
                  $version= $matches['version'][0];
              }
              else {
                  $version= $matches['version'][1];
              }
          }
          else {
              $version= $matches['version'][0];
          }
          if ($version==null || $version=="") {$version="?";}
         
          return array(
              'userAgent' => $u_agent,
              'name'      => $bname,
              'version'   => $version,
              'platform'  => $platform,
              'pattern'    => $pattern
          );
      }
      $ua= browser();
      echo "Real Browser : ".$ua['name']."<br>\n";
      echo "Version : ".$ua['version']."<br>\n";
      echo "Operating system : ".$ua['platform']."<br>\n";
      echo "Old  : ".$ua['userAgent']."<br>\n";
      ?>
      Demo : http://wapy.mobi/browser .
      If that helped you , say thank's .
      you got it from wordpress counterize plugin?
      you can download the wordpress counterize plugin from here: WordPress › Counterize II
      and take a look at the content of browsniff.php file, it has a way more advanced function than yours.
      Advertise your mobile site for FREE with AdTwirl

      Comment


        #4
        Originally posted by GumSlone View Post
        you got it from wordpress counterize plugin?
        you can download the wordpress counterize plugin from here: WordPress › Counterize II
        and take a look at the content of browsniff.php file, it has a way more advanced function than yours.
        No . It was somewhere on php.net .

        Comment

        Working...
        X