Вот есть скрипт ,вроде вообще всё определяет
$$ip=(isset($$_SERVER['REMOTE_ADDR'])?$$_SERVER['REMOTE_ADDR']:""); //забираем ip-адресс
$$user_agent=strtolower(isset($$_SERVER['HTTP_USER_AGENT'])?$$_SERVER['HTTP_USER_AGENT']:""); // Забираем юзер-агента
$$opera=0; //
if (strpos($$user_agent, 'windows') !== false ||
strpos($$user_agent, 'linux') !== false ||
strpos($$user_agent, 'bsd') !== false ||
strpos($$user_agent, 'x11') !== false ||
strpos($$user_agent, 'unix') !== false ||
strpos($$user_agent, 'macintosh') !== false ||
strpos($$user_agent, 'macos') !== false) $$wap=3;
elseif (strpos($$user_agent,'symbian') !==false) $$wap=2;
elseif((isset($$_SERVER["HTTP_ACCEPT"]))&&(strpos($$_SERVER["HTTP_ACCEPT"],"xhtml+xml")!==false))
$$wap=2;
else
$$wap=1;
$$opera=0; // Пока не определили OperaMini или нет!
// Определяем OperaMini и забираем реальный ip-адрес и юзер-агента
if(strpos($$user_agent,"opera mini")!==false){
$$ip=@$$_SERVER["HTTP_X_FORWARDED_FOR"];
$$ip=explode(",",$$ip)
P.S. Сам ещё не ставил,времени не хватает,это мне профессиональный кодер дал