$_ENV['OS'] var ama XPde ve vistada aynı sonucu veriyor, Windows_NT. Windows - Linux kıyaslamasında kullanmıştım.

if(strpos($_ENV['OS'],"Windows") == TRUE) 
{
   //echo 'windows bu';
}

Ama 1 saniye, $_SERVER['HTTP_USER_AGENT'] den çıkarabiliriz Vistayı.

<?php
if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 5.1') == TRUE) 
{
    echo 'Windows XP';
}
else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Windows NT 6.1') == TRUE) 
{
    echo 'Windows 7';
}
?>
XP ve win 7 vardı, vista da NT 6.0 olsa gerek.

.