Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/03/2015, 07:01
matt_1985
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 14 años, 3 meses
Puntos: 61
Respuesta: detectar dispositivo movil

Creo que esto te podria servir para detectar el dispositivo :

Código PHP:
Ver original
  1. <?php
  2.  
  3. $tablet_browser = 0;
  4. $mobile_browser = 0;
  5. $body_class = 'desktop';
  6.  
  7. if (preg_match('/(tablet|ipad|playbook)|(android(?!.*(mobi|opera mini)))/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
  8.     $tablet_browser++;
  9.     $body_class = "tablet";
  10. }
  11.  
  12. if (preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|android|iemobile)/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {
  13.     $mobile_browser++;
  14.     $body_class = "mobile";
  15. }
  16.  
  17. if ((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml') > 0) or ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))) {
  18.     $mobile_browser++;
  19.     $body_class = "mobile";
  20. }
  21.  
  22. $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'], 0, 4));
  23. $mobile_agents = array(
  24.     'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
  25.     'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
  26.     'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
  27.     'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
  28.     'newt','noki','palm','pana','pant','phil','play','port','prox',
  29.     'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
  30.     'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
  31.     'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
  32.     'wapr','webc','winw','winw','xda ','xda-');
  33.  
  34. if (in_array($mobile_ua,$mobile_agents)) {
  35.     $mobile_browser++;
  36. }
  37.  
  38. if (strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'opera mini') > 0) {
  39.     $mobile_browser++;
  40.     //Check for tablets on opera mini alternative headers
  41.     $stock_ua = strtolower(isset($_SERVER['HTTP_X_OPERAMINI_PHONE_UA'])?$_SERVER['HTTP_X_OPERAMINI_PHONE_UA']:(isset($_SERVER['HTTP_DEVICE_STOCK_UA'])?$_SERVER['HTTP_DEVICE_STOCK_UA']:''));
  42.     if (preg_match('/(tablet|ipad|playbook)|(android(?!.*mobile))/i', $stock_ua)) {
  43.       $tablet_browser++;
  44.     }
  45. }
  46. if ($tablet_browser > 0) {
  47. // Si es tablet has lo que necesites
  48.    print 'es tablet';
  49. }
  50. else if ($mobile_browser > 0) {
  51. // Si es dispositivo mobil has lo que necesites
  52.    print 'es un mobil';
  53. }
  54. else {
  55. // Si es ordenador de escritorio has lo que necesites
  56.    print 'es un ordenador de escritorio';
  57. }
  58. ?>


Saludos