2010-02-17 59 views
2

我在我的index.php两个页面重定向。页面为example_system_os.phpexample_mobile_os.php确定客户端操作系统在PHP

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

+0

也许一个有用的信息 - 你可以测试基于执行JavaScript的方式使用的浏览器。由于操作系统不同,浏览器版本的细微差异,这种方法适用于操作系统的可能性很小。 – Bakudan 2011-03-11 21:36:57

回答

5

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 


但请注意,用户代理HTTP报头由客户端发送的,这意味着:

  • 它可以禁用
  • 它可以伪造(即你可以得到任何形式的垃圾在里面^^)
+0

我运行这个GET浏览器功能访问,我发现一个数组,它是ismobiledevice,UT在我的系统中,它只是显示空数组... – Bharanikumar 2010-02-17 12:45:09

+0

我的事情在我的移动设备就显示1 应我使用,就像这个数组是一个然后将页面重定向到example_mobile_os.php一样 – Bharanikumar 2010-02-17 12:48:26

3

你可以解析各种平台细节的$_SERVER['HTTP_USER_AGENT']字符串,但我不确定这是一个确定性的方法,因为它很容易被伪造。

+0

或不存在,例如当通过CLI – Gordon 2010-02-17 11:33:09

相关问题