Ejemplo PHP: detectar plataforma o sistema operativo

logo de php

Ejemplo de código fuente en PHP de un método para detectar la plataforma o sistema operativo con el que se visita una determinada web, mostrándola donde llamemos a ese método dentro de nuestra página web.

 

 

Descripción del ejemplo

La idea del ejemplo es recoger mediante $_SERVER[‘HTTP_USER_AGENT’] de php, el contenido de la cabecera User-Agent, una cadena que indica el agente de usuario empleado para acceder a la pagina. Como véis, lo primero que debéis hacer es pillar ese User-Agent del visitante, y después ya pues llamáis al método getPlatform() para que compruebe qué plataforma usa.

 

Código básico

<?php 


// Inicio del Ejemplo
// *******************************************************************************

//Recogemos el user_agent del visitante
$user_agent = $_SERVER['HTTP_USER_AGENT'];


function getPlatform($user_agent) {
   $plataformas = array(
      'Windows 10' => 'Windows NT 10.0+',
      'Windows 8.1' => 'Windows NT 6.3+',
      'Windows 8' => 'Windows NT 6.2+',
      'Windows 7' => 'Windows NT 6.1+',
      'Windows Vista' => 'Windows NT 6.0+',
      'Windows XP' => 'Windows NT 5.1+',
      'Windows 2003' => 'Windows NT 5.2+',
      'Windows' => 'Windows otros',
      'iPhone' => 'iPhone',
      'iPad' => 'iPad',
      'Mac OS X' => '(Mac OS X+)|(CFNetwork+)',
      'Mac otros' => 'Macintosh',
      'Android' => 'Android',
      'BlackBerry' => 'BlackBerry',
      'Linux' => 'Linux',
   );
   foreach($plataformas as $plataforma=>$pattern){
      if (eregi($pattern, $user_agent))
         return $plataforma;
   }
   return 'Otras';
}




$SO = getPlatform($user_agent);

echo "La plataforma con la que estás visitando esta web es: ".$SO;



// Fin del Ejemplo
// *******************************************************************************

?>

 

Código avanzado

Nuestro compi Giovanny, nos dejó una ampliación del código1 que podéis ver en el siguiente link:

https://gist.github.com/giobeatle1794/bd6f47f83a708b217afdc320b358217b#file-os-detect-php

 

 

PD: Gracias por tu aporte Giovanny  😉

 

Demo del ejemplo

 

La plataforma con la que estás visitando esta web es: Otras

 

 

Valoración General

[Valoraciones:  4    Promedio:  5 de 5]