Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/05/2012, 12:43
Avatar de J_de_Prado
J_de_Prado
 
Fecha de Ingreso: junio-2011
Ubicación: Alpedrete, Madrid,España
Mensajes: 28
Antigüedad: 12 años, 11 meses
Puntos: 2
Detectar dispositivo móvil

Hola,

Estoy buscando la forma de detectar dispositivos móviles y quería si es posible la opinión de alguien que lo halla realizado, he buscado por ahí con la frase:
"detectar dispositivo móvil en php" básicamente y lo que se encuentra es esto:

Código PHP:
Ver original
  1. <?php
  2. $mobile_browser = '0';
  3.  
  4. //$_SERVER['HTTP_USER_AGENT'] -> el agente de usuario que está accediendo a la página.
  5. //preg_match -> Realizar una comparación de expresión regular
  6.  
  7. if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone)/i',strtolower($_SERVER['HTTP_USER_AGENT']))){
  8.     $mobile_browser++;
  9. }
  10.  
  11. //$_SERVER['HTTP_ACCEPT'] -> Indica los tipos MIME que el cliente puede recibir.
  12. if((strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml')>0) or
  13.     ((isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE'])))){
  14.     $mobile_browser++;
  15. }
  16.  
  17. $mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
  18. $mobile_agents = array(
  19.     'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
  20.     'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
  21.     'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
  22.     'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
  23.     'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
  24.     'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
  25.     'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
  26.     'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
  27.     'wapr','webc','winw','winw','xda','xda-');
  28.  
  29. //buscar agentes en el array de agentes
  30. if(in_array($mobile_ua,$mobile_agents)){
  31.     $mobile_browser++;
  32. }
  33.  
  34. //$_SERVER['ALL_HTTP'] -> Todas las cabeceras HTTP
  35. //strpos -> Primera aparicion de una cadena dentro de otra
  36. if(strpos(strtolower($_SERVER['ALL_HTTP']),'OperaMini')>0) {
  37.     $mobile_browser++;
  38. }
  39. if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']),'windows')>0) {
  40.     $mobile_browser=0;
  41. }
  42.  
  43. if($mobile_browser>0){
  44.         // Mostrar contenido para dispositivos móviles
  45.         // Estos pueden ser más ligeros: un titulo, resumen y algunos enlaces.
  46.         // Aca puede redirigir a la ruta donde este el contenido para moviles
  47.         // Por ejemplo: http://miweb.com/movil ó http://movil.miweb.com
  48.     echo 'hola navegador cell phone';
  49. }else{
  50.         // Contenido que se puede apreciar en navegadores de escritorio
  51.         echo 'hola navegador normal';
  52. }
  53. ?>



También he visto que [URL="http://mobiforge.com/developing/story/introduction-wurfl"]Aquí[/URL] hay otra forma de hacerlo parece que utilizan una base de datos que supongo iran actualizando…

¿Alguien puede aclarar algo que nos pueda servir a los demás?