Bueno, para esto, puesto que php tiene una variable SERVER que tiene todos esos datos juntos pues puedes usar esa variable y buscar si tiene sierta palabra que identifique el SO, navegador etc...
Esta variable es $_SERVER["HTTP_USER_AGEN
T"]
Tienes que hacer algo asi:
<?php
$datos = $_SERVER["HTTP_USER_AGENT"];
If (eregi("Windows",$datos)) {
$string = "Tu sistema operativo es Windows";
} elseif (eregi("Linux",$datos)) {
$string = "Tu sistema operativo es Linux";
} elseif (eregi("Mac",$datos)) {
$string = "Tu sistema operativo es Mac OS";
}
echo $string;
?>
Debes completar con otros sistemas operativos, Bien para saber el navegador se hace algo similar.
<?php
$datos = $_SERVER["HTTP_USER_AGENT"];
If (eregi("Mozilla",$datos)) {
$string = "Tu navegador es Mozilla";
} elseif (eregi("IE",$datos)) {
$string = "Tu navegador es IE";
} elseif (eregi("Opera",$datos)) {
$string = "Tu navegador es Opera";
}
echo $string;
?>
Tambien debes completar con otros datos

Y para obtener la ip es mas facil aun

es con esta variable $_SERVER['REMOTE_ADDR'] en esta no tienes que hacer nada esa variable tiene la ip del visitante, ejemplo:
<?php
echo 'Tu ip es ' . $_SERVER['REMOTE_ADDR'];
?>
Para el pais es lo mismo como buscar el navegador solo que algo asi
<?php
$datos = $_SERVER["HTTP_USER_AGENT"];
If (eregi("es",$datos)) {
$string = "Eres de españa";
} elseif (eregi("ve",$datos)) {
$string = "Eres de venezuela";
} elseif (eregi("co",$datos)) {
$string = "Eres de colombia";
}
echo $string;
?>
Espero que te sea de ayuda

salu2