Detecção de sistema operacional mais fácil com PHP?

Estou tentando descobrir que o sistema operacional do visitante é um Windows, Mac ou Linux usando PHP (não preciso da versão, distro info …). Existem vários methods, porém, eles parecem um pouco complicados para esse requisito simples.

Existem maneiras simples de fornecer esse tipo de informação ainda sendo bastante confiável?

Desde já, obrigado.

Para uma solução fácil, veja aqui . O header do usuário-agente pode revelar algumas informações do sistema operacional, mas eu não contaria com isso.

Para o seu caso de uso, faria uma chamada ajax usando javascript do lado do cliente para informar seu servidor do sistema operacional do cliente. E faça a prova de água.

Aqui está um exemplo.

Javascript (lado do cliente, detecção do navegador + chamada ajax):

window.addEvent('domready', function() { if (BrowserDetect) { var q_data = 'ajax=true&browser=' + BrowserDetect.browser + '&version=' + BrowserDetect.version + '&os=' + BrowserDetect.OS; var query = 'record_browser.php' var req = new Request.JSON({url: query, onComplete: setSelectWithJSON, data: q_data}).post(); } }); 

PHP (lado do servidor):

 if ($_SERVER['REQUEST_METHOD'] == 'POST') { $session = session_id(); $user_id = isset($user_id) ? $user_id : 0; $browser = isset($_POST['browser']) ? $_POST['browser'] : ''; $version = isset($_POST['version']) ? $_POST['version'] : ''; $os = isset($_POST['os']) ? $_POST['os'] : ''; // now do here whatever you like with this information } 
  

use o pacote Net_UserAgent

document está aqui: http://pear.php.net/package/Net_UserAgent_Detect/docs/latest/Net_UserAgent/Net_UserAgent_Detect.html#methodgetOSString

Obtenha o arquivo php aqui: pacote / Net_UserAgent_Detect / docs / latest / __ filesource / fsource_Net_UserAgent__Net_UserAgent_Detect-2.5.1Detect.php.html