2010-02-17 60 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

相關問題