765, действительно, я так и не понял почему в $_SERVER['HTTP_USER_AGENT'] функция strpos не может найти слово Opera, возможно что то с кодировкой юзерагента. Вот сделал небольшую поправку:
<?php
if(isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])){
$ua=strtok($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'],' ');
}
elseif(isset($_SERVER['HTTP_USER_AGENT'])){
if(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 6.0')){
$ua='MSIE 6.0';
}
elseif(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 7.0')){
$ua='MSIE 7.0';
}
elseif(strpos($_SERVER['HTTP_USER_AGENT'],'MSIE 8.0')){
$ua='MSIE 8.0';
}
elseif(substr($_SERVER['HTTP_USER_AGENT'],0,10)=='Opera/9.80'){
$ua='Opera'.strrchr($_SERVER['HTTP_USER_AGENT'],'/');
}
elseif(strpos($_SERVER['HTTP_USER_AGENT'],'Chrome')){
$ua=strtok(strrchr($_SERVER['HTTP_USER_AGENT'],'Chrome'),' ');
}
elseif(strpos($_SERVER['HTTP_USER_AGENT'],'Firefox')){
$ua=strtok(strrchr($_SERVER['HTTP_USER_AGENT'],'Firefox'),' ');
}
elseif(strpos($_SERVER['HTTP_USER_AGENT'],'Safari')){
$ua=strtok(strrchr($_SERVER['HTTP_USER_AGENT'],'Safari'),' ');
}
else{
$ua=strtok($_SERVER['HTTP_USER_AGENT'],' ');
}
}else{
$ua='Unknown';
}