دریافت نام و نسخه مرورگر و سیستم عامل کاربر

دریافت نام و نسخه مرورگر و سیستم عامل کاربر

در اطلاعات آماری یک سایت مهم ترین داده هایی که زیاد مورد توجه است نام و نسخه مرورگر و نام سیستم عامل کاربر هست. از این اطلاعات میتوانید جهت طراحی قالب برای اساس استاندارد های مرورگر کاربران استفاده کنید همچنین بدانید که کاربران از چه سیستم عاملی استفاده می کند. همه این کارها با تابع زیر امکان پذیر است:

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

    //First get the platform?
	switch(true){
		case preg_match('/linux/i', $u_agent):
			$platform = 'linux';
		break;
		case preg_match('/macintosh|mac os x/i', $u_agent):
			$platform = 'mac';
		break;
		case preg_match('/windows|win32/i', $u_agent):
			$platform = 'windows';
		break;
	}
   
    // Next get the name of the useragent yes seperately and for good reason
	switch(true){
		case preg_match('/MSIE/i', $u_agent) && !preg_match('/Opera/i', $u_agent):
			$bname = 'Internet Explorer';
			$ub = "MSIE";
		break;
		case preg_match('/Firefox/i', $u_agent):
			$bname = 'Mozilla Firefox';
			$ub = "Firefox";
		break;
		case preg_match('/Chrome/i', $u_agent):
			$bname = 'Google Chrome';
			$ub = "Chrome";
		break;
		case preg_match('/Safari/i',$u_agent):
			$bname = 'Apple Safari';
			$ub = "Safari";
		break;
		case preg_match('/Opera/i',$u_agent):
			$bname = 'Opera';
			$ub = "Opera";
		break;
		case preg_match('/Netscape/i',$u_agent):
			$bname = 'Netscape';
			$ub = "Netscape";
		break;
	}
	
    // finally get the correct version number
    $known = array('Version', $ub, 'other');
    $pattern = '#(?<browser>' . join('|', $known) . ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
    preg_match_all($pattern, $u_agent, $matches);
   
    // 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
        $version = strripos($u_agent,"Version") < strripos($u_agent,$ub) ? $matches['version'][0] : $matches['version'][1];
    else
        $version = $matches['version'][0];
   
    // check if we have a number
    if (is_null($version) || empty($version))
		$version = "?";
   
    return array(
        'userAgent' => $u_agent,
        'name'      => $bname,
        'version'   => $version,
        'platform'  => $platform,
        'pattern'   => $pattern
    );
}

 کار با این تابع آسان است. این تابع یک آرایه شامل اطلاعات نام و نسخه مرورگر و نام سیستم عامل و .. را به شما بر می گرداند. اگر به مثال ساده زیر توجه کنید همه چیز را متوجه می شوید:

$user_data = getBrowser();
$yourbrowser = "شما در حال استفاده از مرورگر " . $user_data['name'] . " نسخه " . $user_data['version'] . " و سیستم عامل " .$user_data['platform'] . " هستید.";

 همچنین توصیه می شود مقدار بازگردانی شده از تابع را print_r کنید تا بطور کامل با این تابع آشنا شوید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.