当用户在 iOS 版 Safari 中打开 PHP 网页时,我是否可以检测到 iOS 设备


Can I detect the iOS device when a user opens a PHP webpage in Safari for iOS?

我知道我可以得到iOS版本,也可以通过以下代码读取浏览器代理来知道用户使用的是iPod Touch,iPad还是iPhone:

$_SERVER['HTTP_USER_AGENT'];

但是,我可以检测到iOS设备的规格吗?就像用户使用的是iPhone一样,它是iPhone 4S,iPhone 4,iPhone 3GS还是iPhone 3G?

下面是 iOS 设备在 Safari 中发送的用户代理示例。

Mozilla/5.0 (iPhone; CPU iPhone OS 5_1_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B206 Safari/7534.48.3

看起来包括操作系统版本(OS 5_1_1)。但是没有关于iOS设备的型号/代的具体信息。您可以从版本中粗略地推断出这一点(例如,3G 无法运行 OS> 5)。但这充其量只是猜测。

我对Mobile/9B206很好奇...这可能与 Safari 有关,而不是设备。

有点,请注意用户代理与使用 iOS 4 和 iOS 5 的 iPhone 的区别:

iPhone

-- iOS 4: Mozilla/5.0 (iPhone;U;CPU iPhone OS 4_3_2 像 Mac OS X;en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) 版本/5.0.2 Mobile/8H7 Safari/6533.18.5

iPhone

-- iOS 5: Mozilla/5.0 (iPhone;CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) 版本/5.1 Mobile/9A334 Safari/7534.48.3

然后你可以在该字符串中找到一个子字符串