Foros del Web » Programando para Internet » PHP »

ayuda con browscap

Estas en el tema de ayuda con browscap en el foro de PHP en Foros del Web. estoy usando browscap para detectar el navegador de mis visitantes, y quien se registre tenga un icono de su navegador, pero siempre me muestra firefox. ...
  #1 (permalink)  
Antiguo 08/06/2007, 12:09
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años
Puntos: 18
ayuda con browscap

estoy usando browscap para detectar el navegador de mis visitantes, y quien se registre tenga un icono de su navegador, pero siempre me muestra firefox.
el código que uso es:
arriba
Código PHP:
<?php
// Loads the class
require 'browscap/browscap2/Browscap.php';
// Creates a new Browscap object (loads or creates the cache)
$bc = new Browscap('browscap/browscap2/cache/dir');
?>
y abajo
Código PHP:
 <?php
    $browser 
= new Browscap('browscap/browscap2/cache/dir');

    switch (
$browser->browser) {
        case 
"IE":
            switch (
$browser->majorver
            {
                case 
7
                    
$imagene 'ie7.jpg';
                default:
                    
$imagene 'iegeneral.jpg';
            }
            break;

        case 
"Firefox":
            
$imagene 'firefox.png';
            break;
        case 
"Mozilla":
            
$imagene 'mozilla.jpg';
            break;
        case 
"Netscape":
            
$imagene 'netscape.jpg';
            break;
        case 
"Safari":
            
$imagene 'safari.jpg';
            break;
        case 
"Konqueror":
            
$imagene 'konqueror.jpg';
            break;
        case 
"Opera":
            
$imagene 'opera.jpg';
            break;
        default:
            
$imagene 'firefox.png';
    }
?>
además, el resultado que obtengo yo en la web de browscap
Cita:
stdClass Object
(
[browser_name_regex] => ^mozilla/5\.0 \(windows; .*; windows nt 6\.0; .*; rv\:1\.8.*\) gecko/.* firefox/2\.0.*$
[browser_name_pattern] => Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.8*) Gecko/* Firefox/2.0*
[Parent] => Firefox 2.0
[Platform] => WinVista
[Win32] => 1
[Browser] => Firefox
[Version] => 2.0
[MajorVer] => 2
[Frames] => 1
[IFrames] => 1
[Tables] => 1
[Cookies] => 1
[JavaApplets] => 1
[JavaScript] => 1
[CSS] => 2
[CssVersion] => 2
[supportsCSS] => 1
[MinorVer] => 0
[Alpha] =>
[Beta] =>
[Win16] =>
[Win64] =>
[BackgroundSounds] =>
[AuthenticodeUpdate] =>
[CDF] =>
[VBScript] =>
[ActiveXControls] =>
[Stripper] =>
[isBanned] =>
[WAP] =>
[isMobileDevice] =>
[isSyndicationReader] =>
[Crawler] =>
[AOL] =>
[aolVersion] => 0
[netCLR] =>
[ClrVersion] => 0
)
y el de un amigo que sólo tiene ie
Cita:
stdClass Object
(
[browser_name_regex] => ^mozilla/4\.0 \(compatible; msie 6\.0; .*windows nt 5\.1.*\).*$
[browser_name_pattern] => Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.1*)*
[Parent] => IE 6.0
[Platform] => WinXP
[Browser] => IE
[Version] => 6.0
[MajorVer] => 6
[Win32] => 1
[Frames] => 1
[IFrames] => 1
[Tables] => 1
[Cookies] => 1
...
¿qué puedo haber hecho mal?
  #2 (permalink)  
Antiguo 08/06/2007, 12:18
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: ayuda con browscap

mmm no será tema de mayúsculas? probá usando Browser en vez de browser...

Digo, con probar no se pierde nada
  #3 (permalink)  
Antiguo 08/06/2007, 12:32
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años
Puntos: 18
Re: ayuda con browscap

probaré, gracias, pero y la extraña coincidencia de mozilla
Cita:
[browser_name_regex] => ^mozilla/5\.0 \(windows; .*; windows nt 6\.0; .*; rv\:1\.8.*\) gecko/.* firefox/2\.0.*$
[browser_name_pattern] => Mozilla/5.0 (Windows; *; Windows NT 6.0; *; rv:1.8*) Gecko/* Firefox/2.0*
Cita:
[browser_name_regex] => ^mozilla/4\.0 \(compatible; msie 6\.0; .*windows nt 5\.1.*\).*$
[browser_name_pattern] => Mozilla/4.0 (compatible; MSIE 6.0; *Windows NT 5.1*)*
me tiene muy intrigado..

muchas gracias, a ver si con eso va :)
  #4 (permalink)  
Antiguo 08/06/2007, 12:35
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años
Puntos: 18
Re: ayuda con browscap

no, no era eso, le he cambiado, además de cambiar el default del bucle por #, y efectivamente, coje #.

¿alguna otra idea?
  #5 (permalink)  
Antiguo 08/06/2007, 12:42
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: ayuda con browscap

Esto me pasa por no leer bien las cosas, creo que ya entiendo el problema.

No has llamado a getBrowser()

Por lo que veo en la página que vinculaste, además de esta línea
Código PHP:
$browser = new Browscap('browscap/browscap2/cache/dir'); 
Deberías agregar esta otra:
Código PHP:
$browser $browser->getBrowser() 
Para así tener el atributo Browser disponible en el objeto $browser.

(podés usar otro nombre de variable, yo usé el mismo para que solo tengas que agregar esa línea)

Saludos.
  #6 (permalink)  
Antiguo 08/06/2007, 13:00
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años
Puntos: 18
Re: ayuda con browscap

voy a probar y te digo
muchas gracias por tu ayuda, el caso es que monté un servidor local y puse browscap para windows y sí que iba, y cuando ha pasado al servidor final, pues no.
pero enseguida miro si funcion
muchas gracias
  #7 (permalink)  
Antiguo 08/06/2007, 13:05
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años
Puntos: 18
Re: ayuda con browscap

pues no, con eso no funciona, el error que muestra es
Cita:
Warning: Could not write .ini content to /browscap.ini in /home/apasotom/public_html/sumolari/browscap/browscap2/Browscap.php on line 402

Warning: parse_ini_file() [function.parse-ini-file]: open_basedir restriction in effect. File(/browscap.ini) is not within the allowed path(s): (/home/apasotom:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/apasotom/public_html/sumolari/browscap/browscap2/Browscap.php on line 212

Warning: array_pop() [function.array-pop]: The argument should be an array in /home/apasotom/public_html/sumolari/browscap/browscap2/Browscap.php on line 217

Fatal error: Unsupported operand types in /home/apasotom/public_html/sumolari/browscap/browscap2/Browscap.php on line 217
pero gracias por la ayuda
puede que algo haya puesto mal, el código de ahora es
Código PHP:
 <?php
    $browser 
= new Browscap('browscap/browscap2/cache/dir');
    
$browser $browser->getBrowser();

    switch (
$browser->Browser) {
        case 
"IE":
            switch (
$browser->majorver
            {
                case 
7
                    
$imagene 'ie7.jpg';
                default:
                    
$imagene 'iegeneral.jpg';
            }
            break;

        case 
"Firefox":
            
$imagene 'firefox.png';
            break;
        case 
"Mozilla":
            
$imagene 'mozilla.jpg';
            break;
        case 
"Netscape":
            
$imagene 'netscape.jpg';
            break;
        case 
"Safari":
            
$imagene 'safari.jpg';
            break;
        case 
"Konqueror":
            
$imagene 'konqueror.jpg';
            break;
        case 
"Opera":
            
$imagene 'opera.jpg';
            break;
        default:
            
$imagene '#';
    }
?>
  #8 (permalink)  
Antiguo 08/06/2007, 15:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: ayuda con browscap

El problema es que la carpeta a la que le diste como cache no puedes escribir, necesitas darle permisos para que pueda escribir en esa carpeta.

Saludos.
  #9 (permalink)  
Antiguo 08/06/2007, 23:04
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años
Puntos: 18
Re: ayuda con browscap

¿los permisos eran 666 no?
Voy a probar a ver si va
  #10 (permalink)  
Antiguo 08/06/2007, 23:10
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años
Puntos: 18
Re: ayuda con browscap

pues no funciona, el directorio cache lo he puesto con permisos 666 y el resultado es este:
Cita:
Warning: Could not write .ini content to /browscap.ini in /home/apasotom/public_html/sumolari/browscap/browscap2/Browscap.php on line 402

Warning: parse_ini_file() [function.parse-ini-file]: open_basedir restriction in effect. File(/browscap.ini) is not within the allowed path(s): (/home/apasotom:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/apasotom/public_html/sumolari/browscap/browscap2/Browscap.php on line 212

Warning: array_pop() [function.array-pop]: The argument should be an array in /home/apasotom/public_html/sumolari/browscap/browscap2/Browscap.php on line 217

Fatal error: Unsupported operand types in /home/apasotom/public_html/sumolari/browscap/browscap2/Browscap.php on line 217
gracias por vuestra ayuda
  #11 (permalink)  
Antiguo 09/06/2007, 09:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: ayuda con browscap

Los permisos son 777.

Saludos.
  #12 (permalink)  
Antiguo 09/06/2007, 11:11
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años
Puntos: 18
Re: ayuda con browscap

le he puesto los permisos 777 al archivo que llama a browscap, a la carpeta de browscap, al archivo de browscap.php, y al directorio de cache, pero sigue igual
  #13 (permalink)  
Antiguo 10/06/2007, 05:49
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años
Puntos: 18
Re: ayuda con browscap

¿a qué carpetas les debo dar permisos 777? He probado con las anteriores y no ocurre nada. ¿En qué directorio del servidor se ha de "instalar" browscap? Yo le he "instalado" en la carpeta raiz de mi web. ¿Puede eso afectar al resultado?
  #14 (permalink)  
Antiguo 27/06/2007, 00:36
Avatar de sumolari  
Fecha de Ingreso: mayo-2006
Ubicación: localhost
Mensajes: 1.367
Antigüedad: 18 años
Puntos: 18
Re: ayuda con browscap

es posible que en lugar de /cache/dir sea sólo /cache/ ??
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 19:47.