Foros del Web » Programando para Internet » PHP »

Cargar imagen dependiendo de HTTP_ACCEPT_LANGUAGE

Estas en el tema de Cargar imagen dependiendo de HTTP_ACCEPT_LANGUAGE en el foro de PHP en Foros del Web. Mi conocimiento de PHP es muy básico, a ver si alguien me puede hechar una mano :p Quiero que cuando llegue una visita a mi ...
  #1 (permalink)  
Antiguo 14/08/2011, 14:13
 
Fecha de Ingreso: febrero-2004
Ubicación: Barnacity
Mensajes: 318
Antigüedad: 20 años, 3 meses
Puntos: 8
Pregunta Cargar imagen dependiendo de HTTP_ACCEPT_LANGUAGE

Mi conocimiento de PHP es muy básico, a ver si alguien me puede hechar una mano :p

Quiero que cuando llegue una visita a mi página, dependiendo del idioma en el que tenga el navegador, aparezca una imagen u otra, es decir:

Si tiene el navegador en español, se carga imagen1 y si lo tienen en cualquier otro se carga imagen2.

Supongo que con el mismo código se podría aprovechar para cargar un texto en un idioma u otro.

Gracias de antemano!
  #2 (permalink)  
Antiguo 14/08/2011, 14:32
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años
Puntos: 322
Respuesta: Cargar imagen dependiendo de HTTP_ACCEPT_LANGUAGE

Sabes manejar condicionales? (if, elseif, else).
Con eso y leyendo el manual (http://www.php.net/manual/es/reserve...les.server.php) es más que suficiente.

Saludos!
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #3 (permalink)  
Antiguo 14/08/2011, 14:56
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Cargar imagen dependiendo de HTTP_ACCEPT_LANGUAGE

Por hay en el foro me encontré esto, ajustalo a tus necesidades:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $idioma = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
  4.  
  5. $iniciales = substr($idioma, 0, 2);
  6.  
  7. switch ($iniciales) {
  8.     case 'de':
  9.         header('Location: http://deu.sitio.net'); //redirigir al sitio en Aleman
  10.         break;
  11.     case 'en':
  12.         header('Location: http://eng.sitio.net'); //redirigir al sitio en Ingles
  13.         break;
  14.     case 'fr':
  15.         header('Location: http://fra.sitio.net'); //redirigir al sitio en Frances
  16.         break;
  17.     case 'es':
  18.         header('Location: http://esp.sitio.net'); //redirigir al sitio en Español
  19.         break;
  20.     case 'it':
  21.         header('Location: http://ita.sitio.net'); //redirigir al sitio en Italiano
  22.         break;
  23.     case 'ja':
  24.         header('Location: http://jap.sitio.net'); //redirigir al sitio en Japones
  25.         break;
  26.     default:
  27.         header('Location: http://jap.sitio.net'); //redirigir al sitio internacional
  28. }
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP
  #4 (permalink)  
Antiguo 14/08/2011, 14:57
 
Fecha de Ingreso: febrero-2004
Ubicación: Barnacity
Mensajes: 318
Antigüedad: 20 años, 3 meses
Puntos: 8
Respuesta: Cargar imagen dependiendo de HTTP_ACCEPT_LANGUAGE

supongo que sería algo así como:

$lengua = substr($_SERVER["HTTP_ACCEPT_LANGUAGE"],0,5);

if l($lengua = es.*){

$imagen = 'imagen1.jpg'
}

else {$imagen = 'imagen2.jpg'
}

luego la pondría en un

echo ('<img src="http://www.xxx.com/'$imagen'>')

verdad?
  #5 (permalink)  
Antiguo 14/08/2011, 14:58
 
Fecha de Ingreso: febrero-2004
Ubicación: Barnacity
Mensajes: 318
Antigüedad: 20 años, 3 meses
Puntos: 8
Respuesta: Cargar imagen dependiendo de HTTP_ACCEPT_LANGUAGE

Cita:
Iniciado por andresdzphp Ver Mensaje
Por hay en el foro me encontré esto, ajustalo a tus necesidades:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $idioma = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
  4.  
  5. $iniciales = substr($idioma, 0, 2);
  6.  
  7. switch ($iniciales) {
  8.     case 'de':
  9.         header('Location: http://deu.sitio.net'); //redirigir al sitio en Aleman
  10.         break;
  11.     case 'en':
  12.         header('Location: http://eng.sitio.net'); //redirigir al sitio en Ingles
  13.         break;
  14.     case 'fr':
  15.         header('Location: http://fra.sitio.net'); //redirigir al sitio en Frances
  16.         break;
  17.     case 'es':
  18.         header('Location: http://esp.sitio.net'); //redirigir al sitio en Español
  19.         break;
  20.     case 'it':
  21.         header('Location: http://ita.sitio.net'); //redirigir al sitio en Italiano
  22.         break;
  23.     case 'ja':
  24.         header('Location: http://jap.sitio.net'); //redirigir al sitio en Japones
  25.         break;
  26.     default:
  27.         header('Location: http://jap.sitio.net'); //redirigir al sitio internacional
  28. }
Eso me serviría si tengo varios index en diferentes idiomas, me lo apunto!

Gracias :p
  #6 (permalink)  
Antiguo 14/08/2011, 15:03
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Cargar imagen dependiendo de HTTP_ACCEPT_LANGUAGE

Ajustado a lo de las imágenes:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $idioma = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
  4.  
  5. $iniciales = substr($idioma, 0, 2);
  6.  
  7. switch ($iniciales) {
  8.     case 'de':
  9.         $imagen = 'de.jpg';
  10.         break;
  11.     case 'en':
  12.         $imagen = 'en.jpg';
  13.         break;
  14.     case 'fr':
  15.         $imagen = 'fr.jpg';
  16.         break;
  17.     case 'es':
  18.         $imagen = 'es.jpg';
  19.         break;
  20.     case 'it':
  21.         $imagen = 'it.jpg';
  22.         break;
  23.     case 'ja':
  24.         $imagen = 'ja.jpg';
  25.         break;
  26.     default:
  27.         $imagen = 'es.jpg';
  28. }
  29.  
  30. echo '<img src="' . $imagen . '" />';

Más allá de los ejemplos faltó decir que HTTP_ACCEPT_LANGUAGE no siempre funciona y supongo que por esto preguntan tanto el idioma las páginas multilenguaje.
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Última edición por andresdzphp; 14/08/2011 a las 15:15
  #7 (permalink)  
Antiguo 14/08/2011, 15:23
 
Fecha de Ingreso: febrero-2004
Ubicación: Barnacity
Mensajes: 318
Antigüedad: 20 años, 3 meses
Puntos: 8
Respuesta: Cargar imagen dependiendo de HTTP_ACCEPT_LANGUAGE

Cita:
Iniciado por andresdzphp Ver Mensaje
Ajustado a lo de las imágenes:

Código PHP:
Ver original
  1. <?php
  2.  
  3. $idioma = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
  4.  
  5. $iniciales = substr($idioma, 0, 2);
  6.  
  7. switch ($iniciales) {
  8.     case 'de':
  9.         $imagen = 'de.jpg';
  10.         break;
  11.     case 'en':
  12.         $imagen = 'en.jpg';
  13.         break;
  14.     case 'fr':
  15.         $imagen = 'fr.jpg';
  16.         break;
  17.     case 'es':
  18.         $imagen = 'es.jpg';
  19.         break;
  20.     case 'it':
  21.         $imagen = 'it.jpg';
  22.         break;
  23.     case 'ja':
  24.         $imagen = 'ja.jpg';
  25.         break;
  26.     default:
  27.         $imagen = 'es.jpg';
  28. }
  29.  
  30. echo '<img src="' . $imagen . '" />';

Más allá de los ejemplos faltó decir que HTTP_ACCEPT_LANGUAGE no siempre funciona y supongo que por esto preguntan tanto el idioma las páginas multilenguaje.
Gracias, recien acabo de adaptar tu código cuando entro y veo que lo has adaptado.

muchas gracias, funciona!

Etiquetas: dependiendo
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:53.