Foros del Web » Programando para Internet » PHP » Zend »

Mostrar una imagen cuya localización está guardada en mysql con zend framework

Estas en el tema de Mostrar una imagen cuya localización está guardada en mysql con zend framework en el foro de Zend en Foros del Web. Hola, tengo las localizaciones en el disco duro de imágenes, guardadas en un campo (location) de mysql. Intento mostrar las imágenes en un listado desde ...
  #1 (permalink)  
Antiguo 11/09/2012, 12:52
 
Fecha de Ingreso: octubre-2007
Ubicación: Salamanca
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Sonrisa Mostrar una imagen cuya localización está guardada en mysql con zend framework

Hola,

tengo las localizaciones en el disco duro de imágenes, guardadas en un campo (location) de mysql. Intento mostrar las imágenes en un listado desde una vista, pero lo único que aparece es un recuadro vacío....¿qué hago mal?

Muchas gracias.

Código:
<td><?php echo '<img src="'.$hotel->location.'" border="0" width="100" height="50"';?></td>
  #2 (permalink)  
Antiguo 11/09/2012, 12:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

¿Que aparece si haces un var_dump($hotel->location)?
  #3 (permalink)  
Antiguo 11/09/2012, 13:56
 
Fecha de Ingreso: octubre-2007
Ubicación: Salamanca
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Cita:
Iniciado por GatorV Ver Mensaje
¿Que aparece si haces un var_dump($hotel->location)?
string(64)
  #4 (permalink)  
Antiguo 11/09/2012, 16:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

¿pero te aparece la ubicación correcta de la imagen?
  #5 (permalink)  
Antiguo 11/09/2012, 16:29
 
Fecha de Ingreso: octubre-2007
Ubicación: Salamanca
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Perdona, no lo había visto, sí, si imprimo el valor de $hotel->location, aparece la ruta dónde está localizada la imagen...pero si utilizo esa ruta como "src" de la imagen, no se por qué no la imprime...
  #6 (permalink)  
Antiguo 11/09/2012, 16:44
 
Fecha de Ingreso: octubre-2007
Ubicación: Salamanca
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Sólo sale si lo pongo así:

<td><img src="<?php echo $this->baseUrl?>/images/maspalomas_mini.jpg" width="175" height="100" /></td>

pero en el campo tengo la ruta entera...no se cómo podría usar ahí el "$this->baseUrl", y por cierto, las barras aparecen invertidas al contrario en el $hotel->location...
  #7 (permalink)  
Antiguo 11/09/2012, 16:47
Avatar de SetheR  
Fecha de Ingreso: enero-2009
Mensajes: 265
Antigüedad: 15 años, 10 meses
Puntos: 44
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Te falta hace el echo de la variable.

Código PHP:
Ver original
  1. src="<?php echo $hotel->location ?>"
  #8 (permalink)  
Antiguo 11/09/2012, 17:27
 
Fecha de Ingreso: octubre-2007
Ubicación: Salamanca
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Con eso no me aparece nada...:(
  #9 (permalink)  
Antiguo 11/09/2012, 17:28
 
Fecha de Ingreso: octubre-2007
Ubicación: Salamanca
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

El trozo de código completo es:

<table>
<thead>
<tr>
<th>Nombre</th>
<th>Usuario</th>
<th>Rol usuario</th>
<th>Provincia</th>
<th>Imagen</th>
<th>Fecha de adici&oacute;n</th>
</tr>
</thead>
<tbody>
<?php foreach($this->hoteles as $hotel) : ?>
<tr>
<td><?php echo $this->escape($hotel->nombre) ?></td>
<td><?php echo $this->escape($hotel->usuario)?></td>
<td><?php echo $this->escape($hotel->rol_usuario)?></td>
<td><?php echo $this->escape($hotel->provincia)?></td>
<td><img src="<?php echo $hotel->location?>"></img></td>
<td><?php echo $this->escape($hotel->fecha_adicion)?></td>
<td><a href="<?php echo $this->url(array('controller'=>'administrador', 'action'=>'editarhoteladmin', 'idHotel'=>$hotel->idHotel));?>">Editar hotel</a></td>
<td><a href="<?php echo $this->url(array('controller'=>'administrador', 'action'=>'eliminarhotel', 'idHotel'=>$hotel->idHotel));?>">Eliminar hotel</a></td>
<td><a href="<?php echo $this->url(array('controller'=>'administrador','action'= >'subirimagenhotel', 'idHotel'=>$hotel->idHotel));?>">Subir imagen</a></td>
</tr>
<?php endforeach; ?>
<tr><td><a href="<?php echo $this->url(array('controller'=>'administrador','action'= >'indexhoteles'));?>">Hoteles</a></td></tr>
</tbody>
</table>
  #10 (permalink)  
Antiguo 12/09/2012, 17:15
 
Fecha de Ingreso: octubre-2007
Ubicación: Salamanca
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Pregunta Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Código:
<table>
<thead>
<tr>
<th>Nombre</th>
<th>Usuario</th>
<th>Rol usuario</th>
<th>Provincia</th>
<th>Imagen</th>
<th>Fecha de adici&oacute;n</th>
</tr>
</thead>
<tbody>
<?php foreach($this->hoteles as $hotel) : ?>
<tr>
<td><?php echo $this->escape($hotel->nombre) ?></td>
<td><?php echo $this->escape($hotel->usuario)?></td>
<td><?php echo $this->escape($hotel->rol_usuario)?></td>
<td><?php echo $this->escape($hotel->provincia)?></td>
<td><img src="<?php echo $hotel->location?>"></img></td>
<td><?php echo $this->escape($hotel->fecha_adicion)?></td>
<td><a href="<?php echo $this->url(array('controller'=>'administrador', 'action'=>'editarhoteladmin', 'idHotel'=>$hotel->idHotel));?>">Editar hotel</a></td>
<td><a href="<?php echo $this->url(array('controller'=>'administrador', 'action'=>'eliminarhotel', 'idHotel'=>$hotel->idHotel));?>">Eliminar hotel</a></td>
<td><a href="<?php echo $this->url(array('controller'=>'administrador','action'= >'subirimagenhotel', 'idHotel'=>$hotel->idHotel));?>">Subir imagen</a></td>
</tr>
<?php endforeach; ?>
<tr><td><a href="<?php echo $this->url(array('controller'=>'administrador','action'= >'indexhoteles'));?>">Hoteles</a></td></tr>
</tbody>
</table>
Sigo con el problema....alguien me podría decir que hago mal? me urge un poquito...gracias
  #11 (permalink)  
Antiguo 12/09/2012, 17:51
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Primero, tienes mal el cierre del tag img, recuerda que es <img /> y no <img> </img>, segundo, si lo haces a mano y carga el problema esta en la ruta que que estas generando, que devuelve exactamente $hotel->location ?, probaste con ?:

Código HTML:
Ver original
  1. <img src="<?php echo $this->baseUrl($hotel->location); ?>" />

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #12 (permalink)  
Antiguo 13/09/2012, 14:17
 
Fecha de Ingreso: octubre-2007
Ubicación: Salamanca
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Cita:
Iniciado por masterpuppet Ver Mensaje
Primero, tienes mal el cierre del tag img, recuerda que es <img /> y no <img> </img>, segundo, si lo haces a mano y carga el problema esta en la ruta que que estas generando, que devuelve exactamente $hotel->location ?, probaste con ?:

Código HTML:
Ver original
  1. <img src="<?php echo $this->baseUrl($hotel->location); ?>" />

Saludos.
Probé cerrando bien el <img> con </img> ....no se a qué te refieres con que pruebe con '?'?
  #13 (permalink)  
Antiguo 14/09/2012, 11:02
 
Fecha de Ingreso: octubre-2007
Ubicación: Salamanca
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Necesito ayuda urgente,

Código:
<td><img src="<?php echo $this->escape($hotel->location); ?>" width="50" height="50"></img>
</td>
La imagen que quiero visulizar está en una ruta en mi disco duro como está:
C:\xampp\htdocs\nubedeviajes\public\files\imagen.j pg

que es la misma que está guardada en $hotel->location. $hotel es el registro que devuelve la consulta a la base de datos, pero Zend Framework no recoconoce la ruta, bueno seguramente algo estoy haciendo yo mal...y no me presenta la imagen.

Ayuda!!! please
  #14 (permalink)  
Antiguo 14/09/2012, 11:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

No necesitas llamar escape en esa variable, y si la ruta que te da es con C:\xampp\etc, obviamente por eso no te va a mostrar, solamente puedes poner una URL en el campo src de una imagen. Por otro lado no tienes que poner </img>, el tag de <img> no tiene cierre, si estas usando XHTML la forma de cerrar es con />.

Saludos.
  #15 (permalink)  
Antiguo 15/09/2012, 09:52
 
Fecha de Ingreso: octubre-2007
Ubicación: Salamanca
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Hola!

Gracias por responder...si la ruta de la imagen la estoy guardando con la siguiente sentencia:
Código:
$location = $form->imagefile->getFileName();
, cómo hago para que se transforme en una url?
  #16 (permalink)  
Antiguo 15/09/2012, 12:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

No, esa no es la forma correcta de "subir" un archivo, tienes que forzosamente mover el archivo a una ubicación dentro de tu proyecto que sea accesible por el webserver, puedes ver este post para aprender a subir archivos con Zend.

http://akrabat.com/zend-framework/si...pload-example/
  #17 (permalink)  
Antiguo 17/09/2012, 05:03
 
Fecha de Ingreso: octubre-2007
Ubicación: Salamanca
Mensajes: 38
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Cita:
Iniciado por GatorV Ver Mensaje
No, esa no es la forma correcta de "subir" un archivo, tienes que forzosamente mover el archivo a una ubicación dentro de tu proyecto que sea accesible por el webserver, puedes ver este post para aprender a subir archivos con Zend.

[url]http://akrabat.com/zend-framework/simple-zend_form-file-upload-example/[/url]

Hola de nuevo, lo he subido como indica en este manual. Pero al poner:
Código:
->setDestination(BASE_PATH . '/data/uploads')
, mi BASE_PATH, en realidad mi APPLICATION_PATH, apunta a la carpeta application. Las imágenes se van a guardar en la carpeta files dentro de public. Pondría:
Código:
->setDestination(BASE_PATH . '/../public/files/')
. Pero me dice que no es una ruta válida. Entonces la pongo yo directamente:

Código:
$destino = "C:/xampp/htdocs/nubedeviajes/public/files/";
		$file = new Zend_Form_Element_File('file');
		$file->setLabel('Imagen')
			->setDestination($destino)
			->setRequired(true);
Y me guarda la imagen, pero después igual que ocurría antes no la presenta....por que cómo decis está guardando una ruta de ficheros en vez de una url....cómo debería hacerlo?
  #18 (permalink)  
Antiguo 17/09/2012, 06:29
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Si te esta diciendo que la ruta no es valida es porque no lo es, deberías comprobar que sea correcta y si lo es que los permisos sean los adecuados, sobre el tema de la imagen, es algo muy básico, si estas guardando la imagen en path/public/files la url va a ser /files/nombredelaimagen.extension

Código HTML:
Ver original
  1. <img src="<?php echo $this->baseUrl('/files/' . $nombredelaimagen); ?>" />
__________________
http://es.phptherightway.com/
thats us riders :)
  #19 (permalink)  
Antiguo 21/09/2012, 04:21
 
Fecha de Ingreso: septiembre-2012
Mensajes: 15
Antigüedad: 12 años, 2 meses
Puntos: 1
Respuesta: Mostrar una imagen cuya localización está guardada en mysql con zend frame

Buenas.

Cuando trabajo en Zend framework, para poner una imagen hago lo siguiente:

<img src="<?php echo $this->baseUrl(); ?>Tu ruta de las imágenes<?php echo $imagen; ?>" />

Si la imagen no sale, y te sale el mítico cuadradito de imagen rota, dale a propiades en el navegador para ver que ruta te está poniendo, porque igual te falta o te sobra algún "/".

Un saludo.

Etiquetas: framework, mysql, php
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 10:04.