Simple User Agent (Mobile and Smartphone) Detection and Redirction with PHP


/ Published in: PHP
Save to your folder(s)

Though an old post, this is my solution that's been pieced together from various comments on the article linked above.


Copy this code and paste it in your HTML
  1. <?php
  2.  
  3. function is_mobile(){
  4.  
  5. // returns true if one of the specified mobile browsers is detected
  6.  
  7. $regex_match="/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|";
  8. $regex_match.="htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|";
  9. $regex_match.="blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|";
  10. $regex_match.="symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|";
  11. $regex_match.="jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220";
  12. $regex_match.=")/i";
  13. return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT']));
  14. }
  15.  
  16. /*
  17. allow the user a way to force either the full or mobile versions of the site - use a GET parameter on requests:
  18.  
  19. include links to both versions of the site w/ the special force mode parameters, 'mobile' and 'full':
  20.  
  21. <a href="http://www.example.org/?mobile">View Mobile Site</a>
  22. <a href="http://www.example.org/?full">View Full Site</a>
  23.  
  24. Always check for 'mobile' or 'full' parameters before accounting for any User-Agent conditions:
  25. */
  26.  
  27. if ($_GET['mobile']) {
  28. $is_mobile = true;
  29. }
  30.  
  31. if ($_GET['full']) {
  32. $is_mobile = false;
  33. }
  34. if($is_mobile) {
  35. //it's a mobile browser, do something
  36. header("Location: http://www.yoursite.com/mobile");
  37. } else {
  38. //it's not a mobile browser, do something else
  39. header("Location: http://www.yoursite.com/desktop");
  40. // or instead of a redirect, simply build html below
  41.  
  42.  
  43. }
  44.  
  45. ?>

URL: http://mobiforge.com/developing/story/lightweight-device-detection-php

Report this snippet


Comments

RSS Icon Subscribe to comments

You need to login to post a comment.