Monday, January 6, 2014

i need to check if the request came from a mobile phone device or desktop computer using php please help. thanks
share|improve this question
add comment

6 Answers

MobileESP is comprehensive but nice & easy to use.
share|improve this answer
 
Thanks a lot all three are really help full. –  Mian Khurram Ijaz Mar 17 '11 at 6:00
add comment
Check the $_SERVER['HTTP_USER_AGENT'] for mobile user agents.
You should check out http://detectmobilebrowser.com/ for already existing scripts to detect for mobile browsers (it just uses the user agents).
share|improve this answer
2 
+1 for the useful link –  diEcho Mar 17 '11 at 5:40
add comment
I am using a function to identify mobile browsers in my projects, which can detect almost all major Mobile Operating systems and browsers.
    function ismobile() {
    $is_mobile = '0';

    if(preg_match('/(android|up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
        $is_mobile=1;
    }

    if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
        $is_mobile=1;
    }

    $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
    $mobile_agents = array('w3c ','acs-','alav','alca','amoi','andr','audi','avan','benq','bird','blac','blaz','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','mits','mmef','mobi','mot-','moto','mwbp','nec-','newt','noki','oper','palm','pana','pant','phil','play','port','prox','qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar','sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-','tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp','wapr','webc','winw','winw','xda','xda-');

    if(in_array($mobile_ua,$mobile_agents)) {
        $is_mobile=1;
    }

    if (isset($_SERVER['ALL_HTTP'])) {
        if (strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {
            $is_mobile=1;
        }
    }

    if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {
        $is_mobile=0;
    }

    return $is_mobile;
}
share|improve this answer
add comment
here you can find all the possible ways in which source of request can be figured out and also the solution to it in flexible manner - whether user wants to implement that code on the server side or client side . It also provide sources for the APIs of different server side languages Java, ASP.NET, PHP , Python etc.
I think it might be useful for readers.
Thanks
Saurav
share|improve this answer
add comment

No comments: