Futurizate.com: Diseño Web, Hosting, Dominios, Buscadores

Entradas con la etiqueta ‘dispositivos’

Detectar dispositivos móviles en PHP

Martes, 15 de Septiembre de 2009

En un mundo en el que los dispositivos móviles ganan terreno a un ritmo asombroso, aquí tenemos un código con el que podremos detectar fácilmente, desde PHP, si nuestra web se está ejecutando desde unos de estos dispositivos. Una vez detectado, podremos realizar una acción específica, mostrar un aviso, redireccionar a otra página o lo que nos interese.

<?php

   // Función para detectar dispósitivos móviles
   function siEsDispositivoMovil(){

      $useragent = $_SERVER['HTTP_USER_AGENT'];

      //Listado de user-agent(UA) de dispositivos móviles
      $useragents = array(
         'PIE4' => 'compatible; MSIE 4.01; Windows CE; PPC; 240x320',
         'PIE4_Smartphone' => 'compatible; MSIE 4.01; Windows CE; Smartphone;',
         'PIE6' => 'compatible; MSIE 6.0; Windows CE;',
         'Minimo' => 'Minimo',
         'OperaMini' => 'Opera Mini',
         'AvantGo' => 'AvantGo',
         'Plucker' => 'Plucker',
         'NetFront' => 'NetFront',
         'SonyEricsson' => 'SonyEricsson',
         'Nokia' => 'Nokia',
         'Motorola' => 'mot-',
         'BlackBerry' => 'BlackBerry',
         'WindowsMobile' => 'Windows CE',
         'PPC' => 'PPC',
         'PDA' => 'PDA',
         'Smartphone' => 'Smartphone',
         'Palm' => 'Palm'
      );

      foreach($useragents as $nav=>$ua){
         if(strstr($useragent, $ua)!=false){
            return $nav;
         }
      }

      return "NoMovil";
   }

   $navegadorMovil = siEsDispositivoMovil();

   if ( $navegadorMovil != "NoMovil" ) {
      echo "La web se ha cargado desde un dispositivo no móvil.";
   } else {
      echo "La web se ha cargado desde el dispositivo móvil: " . $navegadorMovil;
   }
?>