Nhận biết hệ điều hành bằng PHP

Cập nhật lần cuối vào

Nếu bạn đang tìm kiếm phương pháp để lấy thông tin hệ điều hành của người dùng khi họ truy cập vào website của bạn thì bài viết này có thể giúp ích được cho bạn. Bạn đang làm một website để chia sẻ phần mềm, bây giờ bạn muốn phân loại phần mềm dựa theo thông tin của hệ điều hành, cách tốt nhất và đơn giản nhất mà bạn có thể sử dụng đó là kiểm tra HTTP_USER_AGENT.

function get_operating_system() {
	$result = 'Unknown OS';
	$os = array(
		'/windows nt 10.0/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'
	);
	$user_agent = $_SERVER['HTTP_USER_AGENT'];
	foreach($os as $regex => $value) {
		if(preg_match($regex, $user_agent)) {
			$result = $value;
			break;
		}
	}
	return $result;
}