Foros del Web » Programando para Internet » PHP »

Fallo al intentar mostrar una imagen

Estas en el tema de Fallo al intentar mostrar una imagen en el foro de PHP en Foros del Web. Hola a todos, os cuento mi problemilla. Me he hecho cargo de un site que se muestra en dos idiomas. Para ello, cuando se carga ...
  #1 (permalink)  
Antiguo 09/09/2008, 04:10
 
Fecha de Ingreso: junio-2008
Mensajes: 10
Antigüedad: 15 años, 10 meses
Puntos: 0
Fallo al intentar mostrar una imagen

Hola a todos, os cuento mi problemilla.

Me he hecho cargo de un site que se muestra en dos idiomas. Para ello, cuando se carga la pagina de inicio se chequea el idioma del navegador y según eso, se muestra en ingles o en castellano.
Al ir añadiendole contenido, me ha surgido un problema.En el menú del site los enlaces tienen la siguiente estructura:

Código:
<a href="comojugar.php">
<?php 
if ( $lang == "spanish" )
   echo "Como Jugar";
elseif ( $lang == "english" )
  echo "How to play";
?>
</a>
El código de "comojugar.php", es el siguiente:

Código:
<?php
$ent1 = "";
$header = "main_left.php";
include $header;
$body = "howtoplay.php";
include $body;
$footer = "main_rigth.php";
include $footer;
?>
donde howtoplay.php es:
Código:
<?php		 
$lang = $_SESSION['lang'];
  InitTable();
  include("language/".$lang."/comojugar.php" );		 
  EndTable();
?>
Bien, esto sirve para seleccionar bien el archivo en ingles o bien el de castellano, que estan en la carpeta language, en la que a su vez hay dos carpetas: english y spanish, y dentro de ellas los archivos correspondientes.
Los archivos me los carga sin problemas, pero cuando quiero insertar una imagen en uno de ellos, no la muestra. Es como si no la viera, ni siquiera detecta el cógido <img src="">. He probado tb en php con print, y nada.
Tambien he probado a cambiar la imagen de directorio y enlazarla alli, y nada, pero la cosa es que las imágenes de la hoja de estilos si que las coge, y ademas del directorio raiz, sin ponerles la ruta completa, no se si me explico.

Alguna idea?

Un saludo.
  #2 (permalink)  
Antiguo 09/09/2008, 05:07
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Fallo al intentar mostrar una imagen

¿Podrías poner la parte de código que falla? Es decir, donde pongas el <img> que no sale.
  #3 (permalink)  
Antiguo 09/09/2008, 08:08
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
Respuesta: Fallo al intentar mostrar una imagen

Tema trasladado a PHP General.
  #4 (permalink)  
Antiguo 09/09/2008, 15:04
 
Fecha de Ingreso: junio-2008
Mensajes: 10
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Fallo al intentar mostrar una imagen

Si, esta sería la página que carga cuando $lang es english, por ejemplo, que se llama también "comojugar.php":
Código:
<tr>
 <td class='row1' background='cellpic3.gif' height='28'>
  <div align='center'><font class='block-title Estilo'>
   <strong>How to play</strong></font>
  </div>
 </td>
</tr>
<tr>
 <td class='row1' height='13'>
  <div class='contenido2'>
   <font class='Estilo6'><span class='gensmall gensmall postbody postbody'><br>
   <b><font color="orange"><u>INSTALL</u></font></b><br><br>
	      <font color="orange"><b>1)</b>.</font>
	      This process can can take a long time to fullfill the whole patch, so do not
	      desperate.<br>
	      You will need at least the 6.0.1.0 version to play.<br> 
	      When the patch session is finished you will see a "Patch session completed" message.<br><br>
	     
	      <font color="orange"><b>3)</b>.</font> That will be the window that will be shown:<br><br>
	      <img src="image.gif" width="360" height="282" border="0" alt="">
	      
	      <br><br>
	      
	      Then click OK and if you have done everything properly it will appear the account login screen.<BR>
	     
	      
		   </div>
		   <br>
    </font>
  </div>
 </td>
</tr>
La parte en rojo es donde se supone que deberia salir la imagen, que esta en el mismo directorio, pero es que al cargarla, ni siquiera se ve el error típico de cuando el link de la imagen no funciona, es que no sale nada, como si ese código no estuviera...
  #5 (permalink)  
Antiguo 10/09/2008, 11:22
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Fallo al intentar mostrar una imagen

Vale, pon:

- La URL de la página tal cual queda en el navegador cuando se ve la página.
- La carpeta donde está la imagen.
  #6 (permalink)  
Antiguo 11/09/2008, 03:48
 
Fecha de Ingreso: junio-2008
Mensajes: 10
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Fallo al intentar mostrar una imagen

Claro,ahi ta:

- La URL de la página tal cual queda en el navegador cuando se ve la página: http://localhost/legends/comojugar.php
- La carpeta donde está la imagen: localhost/legends/language/english/image.gif

Decir que en esta carpeta esta también el archivo comojugar.php en inglés, que es diferente al comojugar.php que aparece en el navegador, que tiene el código que indique en el primer post.
  #7 (permalink)  
Antiguo 11/09/2008, 04:44
 
Fecha de Ingreso: mayo-2008
Mensajes: 42
Antigüedad: 16 años
Puntos: 0
Respuesta: Fallo al intentar mostrar una imagen

A ver para empezar el tener un archivo para ingles y otro para castellano me parece un poco de atraso...

Yo haría un único archivo y dentro de él ya se muestra un idioma u otro según esté seleccionado...

sería algo así:
Creamos un archivo para castellano, por ejemplo es.php y metemos en él un array con los textos a traducir.
Código PHP:
$traducciones=array(
  
"Hola" => "Hola",
  
"Adios" => "Adios"
); 
a continuación creamos el fichero de ingles, por ejemplo en.php y repetimos la operación pero con las traducciones
Código PHP:
$traducciones=array(
  
"Hola" => "Hello",
  
"Adios" => "Good Bye"
); 
despues creamos un archivo llamado por ejemplo traductor.php
Código PHP:
session_start();

$sup_lang=array("es""en");

if(
$_SESSION["lang"]!="") {
    
$lang=$_SESSION["lang"];
} else {
    
$cli_lang=explode(","$HTTP_ACCEPT_LANGUAGE);

    for(
$i=0;$i<count($cli_lang) && !isset($lang); $i++) {
        for(
$j=0;$j<count($sup_lang); $j++) {
            if(!
strncmp($cli_lang[$i],$sup_lang[$j],strlen($sup_lang[$j]))) {
                
$lang=$sup_lang[$j];
                break;
            }
        }
    }
}

if(
$_GET["lang"]!="")
    
$lang=$_GET["lang"];

switch(
$lang) {
    default:
    case 
"es":
        include_once(
"es.php");
        
$_SESSION["lang"]="es";
        break;
    case 
"en":
        include_once(
"en.php");
        
$_SESSION["lang"]="en";
        break;

Ya por último en los archivos que queramos traducir ponemos algo así como:
Código HTML:
<? include('traductor.php'); ?>
<p><? echo $traduccion["Hola"]; ?></p>
<span><? echo $traduccion["Adios"]; ?></span> 
en lugar de $traduccion se puede emplear algo mas corto para no hacerlo tan pesado.

Cuando una imagen dependa del idioma seleccionado sería tan sencillo como poner
Código PHP:
if $lang == 'es'
  
la imagen que sea
else
  
la otra 

Espero que haya servido de algo... Un saludo

Última edición por VitorGarcia; 11/09/2008 a las 05:06
  #8 (permalink)  
Antiguo 13/09/2008, 13:49
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Fallo al intentar mostrar una imagen

Cita:
Iniciado por Earedel Ver Mensaje
- La URL de la página tal cual queda en el navegador cuando se ve la página: http://localhost/legends/comojugar.php
- La carpeta donde está la imagen: localhost/legends/language/english/image.gif
Entonces... si lo he entendido bien, tienes:

Código:
/legends/
/legends/comojugar.php
/legends/language/
/legends/language/english/
/legends/language/english/image.gif
Pero en el código que has puesto arribba haces referencia a la imagen como:
Código:
<img src="image.gif" ...
como si estuvieran en la misma carpeta, ¿no? Si le das sobre la imagen que no aparece con el botón derecho -> propiedades, verás que dice que la imagen que no encuentra es /legends/image.gif. Lo que tienes que hacer es poner la ruta correcta a la imagen: src="language/english/image.gif" o src="/legends/language/english/image.gif"
  #9 (permalink)  
Antiguo 25/09/2008, 04:32
 
Fecha de Ingreso: junio-2008
Mensajes: 10
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Fallo al intentar mostrar una imagen

Gracias, ya lo solucioné, al final ciertamente era la cosa mas tonta, un error al typear la ruta de la imagen -_-U

Bueno, gracias a todos ^^
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 00:22.