Foros del Web » Programando para Internet » PHP »

cargar css segun browser

Estas en el tema de cargar css segun browser en el foro de PHP en Foros del Web. Hola puedo con PHP cargar css segun EL browser y el S.O.???? MUCHAS GRACIAS...
  #1 (permalink)  
Antiguo 11/04/2011, 10:44
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
cargar css segun browser

Hola puedo con PHP cargar css segun EL browser y el S.O.????

MUCHAS GRACIAS
  #2 (permalink)  
Antiguo 11/04/2011, 11:36
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: cargar css segun browser

Solo es cuestión de verificar las cabeceras y de ahí asignas lo que quieras. Usa $_SERVER y verifica el que te brinda la información que requieres.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 11/04/2011, 11:46
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: cargar css segun browser

lo mas parecido que me devuelve server es esto
'HTTP_USER_AGENT' => string 'Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.23 Safari/534.10' (length=112)

pero como saco de ese choklo el nombre del broser y la version???
  #4 (permalink)  
Antiguo 11/04/2011, 11:55
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: cargar css segun browser

http://www.webintenta.com/detectar-e...r-con-php.html

http://www.codigomanso.com/es/2010/0...rativo-en-php/

Última edición por mogurbon; 11/04/2011 a las 12:01
  #5 (permalink)  
Antiguo 11/04/2011, 12:10
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: cargar css segun browser

voy a ver esos links, pero encontre la solucion ideal, un metodo y lo hice clase:
esto le va a servir a todos:



Código PHP:
Ver original
  1. class utils_Browsers {
  2.     /*
  3.      * obtengo datos del navegador
  4.      */
  5.     function getBrowser()
  6.     {
  7.         $u_agent = $_SERVER['HTTP_USER_AGENT'];
  8.         $bname = 'Unknown';
  9.         $platform = 'Unknown';
  10.         $version= "";
  11.  
  12.         //First get the platform?
  13.         if (preg_match('/linux/i', $u_agent)) {
  14.             $platform = 'linux';
  15.         }
  16.         elseif (preg_match('/macintosh|mac os x/i', $u_agent)) {
  17.             $platform = 'mac';
  18.         }
  19.         elseif (preg_match('/windows|win32/i', $u_agent)) {
  20.             $platform = 'windows';
  21.         }
  22.  
  23.         // Next get the name of the useragent yes seperately and for good reason
  24.         if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent))
  25.         {
  26.             $bname = 'Internet Explorer';
  27.             $ub = "MSIE";
  28.         }
  29.         elseif(preg_match('/Firefox/i',$u_agent))
  30.         {
  31.             $bname = 'Mozilla Firefox';
  32.             $ub = "Firefox";
  33.         }
  34.         elseif(preg_match('/Chrome/i',$u_agent))
  35.         {
  36.             $bname = 'Google Chrome';
  37.             $ub = "Chrome";
  38.         }
  39.         elseif(preg_match('/Safari/i',$u_agent))
  40.         {
  41.             $bname = 'Apple Safari';
  42.             $ub = "Safari";
  43.         }
  44.         elseif(preg_match('/Opera/i',$u_agent))
  45.         {
  46.             $bname = 'Opera';
  47.             $ub = "Opera";
  48.         }
  49.         elseif(preg_match('/Netscape/i',$u_agent))
  50.         {
  51.             $bname = 'Netscape';
  52.             $ub = "Netscape";
  53.         }
  54.  
  55.         // finally get the correct version number
  56.         $known = array('Version', $ub, 'other');
  57.         $pattern = '#(?<browser>' . join('|', $known) .
  58.         ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
  59.         if (!preg_match_all($pattern, $u_agent, $matches)) {
  60.             // we have no matching number just continue
  61.         }
  62.  
  63.         // see how many we have
  64.         $i = count($matches['browser']);
  65.         if ($i != 1) {
  66.             //we will have two since we are not using 'other' argument yet
  67.             //see if version is before or after the name
  68.             if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){
  69.                 $version= $matches['version'][0];
  70.             }
  71.             else {
  72.                 $version= $matches['version'][1];
  73.             }
  74.         }
  75.         else {
  76.             $version= $matches['version'][0];
  77.         }
  78.  
  79.         // check if we have a number
  80.         if ($version==null || $version=="") {$version="?";}
  81.  
  82.         return array(
  83.             'userAgent' => $u_agent,
  84.             'name'      => $bname,
  85.             'version'   => $version,
  86.             'platform'  => $platform,
  87.             'pattern'    => $pattern
  88.         );
  89.     }
  90. }
  #6 (permalink)  
Antiguo 11/04/2011, 12:23
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 3 meses
Puntos: 155
Respuesta: cargar css segun browser

vientos !! mejor en clase que en funcion
  #7 (permalink)  
Antiguo 11/04/2011, 13:36
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: cargar css segun browser

Si vas a usar solamente ese método, conviertelo a static y llamalo directamente.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: css, browsers
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 16:05.