Foros del Web » Programando para Internet » PHP »

Detectar OS y redirigir

Estas en el tema de Detectar OS y redirigir en el foro de PHP en Foros del Web. Hola a todos!Alguien sabe como hacer (si existe) para que detecte si una persona está entrando, en una determinada página, desde Mac y Linux y ...
  #1 (permalink)  
Antiguo 02/08/2010, 10:15
 
Fecha de Ingreso: marzo-2008
Mensajes: 36
Antigüedad: 16 años, 2 meses
Puntos: 0
Detectar OS y redirigir

Hola a todos!Alguien sabe como hacer (si existe) para que detecte si una persona está entrando, en una determinada página, desde Mac y Linux y lo redirija a la página que le especifique?

He estado buscando y he encontrado eso mismo para detectar móviles pero no para sistemas operativos.

Muchas gracias por adelantado.
  #2 (permalink)  
Antiguo 02/08/2010, 10:25
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Detectar OS y redirigir

Eso lo puedes ver desde lo headers. Haz un var_dump a la variable $_SERVER para que veas donde está reflejado el sistema operativo.

Edito:
Puedes hacer algo así, modifícalo a tu gusto
Código PHP:
Ver original
  1. <?php
  2. class RemoteOs{
  3.     private $_platform;
  4.     private $_userAgent = NULL;
  5.  
  6.     public function __construct()
  7.     {
  8.         //set the useragent property
  9.         $this->_userAgent = $_SERVER['HTTP_USER_AGENT'];
  10.     }
  11.  
  12.     public function getBrowserOs()
  13.     {
  14.         $win = preg_match("/win/i", $this->_userAgent);
  15.         $linux = preg_match("/linux/i", $this->_userAgent);
  16.         $mac = preg_match("/mac/i", $this->_userAgent);
  17.         $os2 = preg_match("/OS\/2/i", $this->_userAgent);
  18.         $beos = preg_match("/BeOS/i", $this->_userAgent);
  19.        
  20.         //now do the check as to which matches and return it
  21.         if ($win)
  22.         {
  23.             $this->_platform = "Windows";
  24.         }
  25.         elseif ($linux)
  26.         {
  27.             $this->_platform = "Linux";
  28.         }
  29.         elseif ($mac)
  30.         {
  31.             $this->_platform = "Macintosh";
  32.         }
  33.         elseif ($os2)
  34.         {
  35.             $this->_platform = "OS/2";
  36.         }
  37.         elseif ($beos)
  38.         {
  39.             $this->_platform = "BeOS";
  40.         }
  41.         return $this->_platform;
  42.     }
  43. }
  44. //instantiate the class
  45. $obj = new RemoteOs();
  46. echo $obj->getBrowserOs();
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 02/08/2010 a las 10:49

Etiquetas: detectar, redirigir
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:08.