Magento 2, Magento Development, Customization, Extension Development and Integration, Optimization, SEO and Responsive Design

Magento 2, Magento Development, Customization, Extension Development and Integration, Optimization, SEO and Responsive Design

How to get exact browser name, version and OS details using PHP?

How to detect the operating system and which browser we are currently using, that's we are going to find through the PHP code, here in the php code we are using and getOS and getBrowser, so far the code is fully works with the help of php code, and let see how it works and what is that code in detail.

function getOS() { 
    global $user_agent;
    $user_agent = $_SERVER['HTTP_USER_AGENT'];
    $os_platform =   "Unknown OS Platform";
    //List of OS
    $os_array = array(
                  '/windows nt 10/i'     =>  'Windows 10',
                  '/windows nt 6.3/i'     =>  'Windows 8.1',
                  '/windows nt 6.2/i'     =>  'Windows 8',
                  '/windows nt 6.1/i'     =>  'Windows 7',
                  '/windows nt 6.0/i'     =>  'Windows Vista',
                  '/windows nt 5.2/i'     =>  'Windows Server 2003/XP x64',
                  '/windows nt 5.1/i'     =>  'Windows XP',
                  '/windows xp/i'         =>  'Windows XP',
                  '/windows nt 5.0/i'     =>  'Windows 2000',
                  '/windows me/i'         =>  'Windows ME',
                  '/win98/i'              =>  'Windows 98',
                  '/win95/i'              =>  'Windows 95',
                  '/win16/i'              =>  'Windows 3.11',
                  '/macintosh|mac os x/i' =>  'Mac OS X',
                  '/mac_powerpc/i'        =>  'Mac OS 9',
                  '/linux/i'              =>  'Linux',
                  '/ubuntu/i'             =>  'Ubuntu',
                  '/iphone/i'             =>  'iPhone',
                  '/ipod/i'               =>  'iPod',
                  '/ipad/i'               =>  'iPad',
                  '/android/i'            =>  'Android',
                  '/blackberry/i'         =>  'BlackBerry',
                  '/webos/i'              =>  'Mobile'
                );

    foreach ($os_array as $regex => $value) {
        if (preg_match($regex, $user_agent)) {
            $os_platform    =   $value;
        }
    }
    return $os_platform;
}

function getBrowser() 
{ 
    $u_agent = $_SERVER['HTTP_USER_AGENT']; 
    $bname = 'Unknown';
    $platform = 'Unknown';
    $version= "";

    //First get the platform?
    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';
    }

    // Next get the name of the useragent yes seperately and for good reason
    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"; 
    } 

    // finally get the correct version number
    $known = array('Version', $ub, 'other');
    $pattern = '#(?' . 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'];
print_r($yourbrowser)."
";
$user_os        =   getOS();
echo "Operating System: ".$user_os;


Please support us, Like us on Facebook.

0 comments:

Post a Comment

 

Copyright @ 2017 HKBlog.