在PHP中确定客户端操作系统

3

我在我的index.php中有两个页面重定向。这些页面是example_system_os.phpexample_mobile_os.php

如何在PHP中确定用户的操作系统?


也许有用的信息 - 您可以根据JavaScript执行的方式测试使用的浏览器。由于不同操作系统上浏览器版本的微小差异,这种方法可能适用于操作系统。 - Bakudan
2个回答

6
get_browser函数可用于提取浏览器发送的User-Agent HTTP头中的一些信息。其中,看起来有关于浏览器正在运行的操作系统的一些数据,即有关客户端操作系统的信息。
引用get_browser手册页面给出的示例:
Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$
    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*
    [parent] => Firefox 0.9
    [platform] => WinXP
    [browser] => Firefox
    [version] => 0.9


但请注意,客户端发送的User-Agent HTTP标头,这意味着:

  • 它可以被禁用
  • 它可以被伪造 (即你可以得到任何种类的垃圾^^)

我运行了这个获取浏览器功能,我发现一个数组是ismobiledevice,但在我的系统中它只显示为空数组... - Bharanikumar
我在我的移动设备上看到了数字1,我是否应该使用类似的东西,比如当这个数组是1时,将页面重定向到example_mobile_os.php? - Bharanikumar

4
您可以解析$_SERVER['HTTP_USER_AGENT']字符串以获取各种平台的详细信息,但我不会确信这是一种确定性方法,因为它很容易被伪造。

或不存在,例如通过CLI访问时。 - Gordon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接