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]
  • http://giobeatle1794.esy.es Giovanny Garciliano Diaz

    De nuevo, me gustaría dejar una ampliación al ejemplo que pusiste, aunque lo he reescrito porque no me funcionaba el ejemplo puesto. Este lo he revisado ysi me funciona. Espero te sea util: https://gist.github.com/giobeatle1794/bd6f47f83a708b217afdc320b358217b#file-os-detect-php. Buenas noches desde Villahermosa, México :3

  • ReyviGamer

    Creo que hay un error, Según su ejemplo dice que entre desde una Mac OS X y me encuentro en Windows 10

    • ReyviGamer

      Acaba de cambiar a otras, Mmmm.

      :V Podrian ayudarme a detectar mi Ordenador por favor.

    • Javier Crego

      Hola.

      ¿Podrías decirme con qué navegador/es estás comprobándolo en Windows 10?

  • jose

    Es correcto?

    ‘Windows 10’ => ‘Windows NT 10.0+’,

    • Javier Crego

      Exacto!.
      Ya lo añadí al ejemplo. Gracias por el aviso.

      Un saludo.

  • Marko A. Durán Flores

    En la linea 13 hay un error:
    ‘Windows 8’ =–> ‘Windows NT 6.2+’,

    Se corrige asi:
    ‘Windows 8’ => ‘Windows NT 6.2+’,

    • Javier Crego

      Gracias por el aviso.

      Saludos.

  • Wiz Khalifa

    alert(“nice”);