Постановка задачи проста: необходимо определить тип устройства, с которого был сделан запрос скрипта. Код оформлен в виде функции, способной с неплохой вероятностью определить ваш вход с мобильного устройства либо с компьютера.
В качестве примера результат выводиться в виде строки. Однако вы можете модифицировать код под свои нужды. Частенько используется для подключения определенных шаблонов, элементов сайта, в зависимости от устройства, что весьма удобно.
<?php function detect_mobile_device(){ // check if the user agent value claims to be windows but not windows mobile if(stristr(@$_SERVER['HTTP_USER_AGENT'],'windows')&&!stristr(@$_SERVER['HTTP_USER_AGENT'],'windows ce')) return false; // check if the user agent gives away any tell tale signs it's a mobile browser if(preg_match('/up.browser|up. link |windows ce|iemobile|mini|mmp|symbian|midp|wap|phone|pocket|mobile|pda|psp/i', @$_SERVER['HTTP_USER_AGENT'])) return true; // check the http accept header to see if wap.wml or wap.xhtml support is claimed if(isset($_SERVER['HTTP_ACCEPT'])&&(stristr($_SERVER['HTTP_ACCEPT'],'text/vnd.wap.wml')|| stristr($_SERVER['HTTP_ACCEPT'],'application/vnd.wap.xhtml xml'))) return true; // check if there are any tell tales signs it's a mobile device from the server headers if(isset($_SERVER['HTTP_X_WAP_PROFILE'])||isset($_SERVER['HTTP_PROFILE'])|| isset($_SERVER['X-OperaMini-Features'])||isset($_SERVER['UA-pixels'])) return true; // build an array with the first four characters from the most common mobile user agents $a = array ('acs-','alav','alca','amoi','audi','aste','avan','benq','bird','blac', 'bla z','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno', 'ipaq','java', 'jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-', 'maui','maxo','midp','mi ts','mmef','mobi','mot-','moto','mwbp','nec-', 'newt','noki','opwv','palm','pana' ,'pant','pdxg','phil','play','pluc', 'port','prox','qtek','qwap','sage','sams','s any','sch-','sec-','send', 'seri','sgh-','shar','sie-','siem','smal','smar','sony ','sph-','symb', 't-mo','teli','tim-','tosh','tsm-','upg1','upsi','vk-v','voda',' w3c ', 'wap-','wapa','wapi','wapp','wapr','webc','winw','winw','xda','xda-'); // check if the first four characters of the current user agent are set as a key in the array if(isset($a[ substr (@$_SERVER['HTTP_USER_AGENT'],0,4)])) return true; } if (detect_mobile_device())echo "<h4>Вы зашли с мобильного телефона!</h4>"; else echo "<div class='res'><h4>Вы зашли с обычного компьютера.</h4></div>"; ?>
UPD: Есть и другой способ определения мобильных устройств пользователей, это использование сторонней библиотеки Mobile Detect, в нем есть методы для более тонкой проверки устройств. Кроме того, класс Mobile Detect дорабатывается разработчиками, что является большим плюсом.