Foros del Web » Programando para Internet » PHP »

Problema con imagen dinamica

Estas en el tema de Problema con imagen dinamica en el foro de PHP en Foros del Web. como puedo hacer para que se mustre la imagen solo si existe si no existe que no se muestre nada. Es decir yo tengo un ...
  #1 (permalink)  
Antiguo 04/07/2006, 16:03
Avatar de rockermendez  
Fecha de Ingreso: enero-2006
Ubicación: Guatemala
Mensajes: 123
Antigüedad: 18 años, 2 meses
Puntos: 0
Pregunta Problema con imagen dinamica

como puedo hacer para que se mustre la imagen solo si existe si no existe que no se muestre nada.

Es decir yo tengo un recordset y lo muestro en una tabla donde aparece el titulo imagen y contenido pero no en todos los registros hay una imagen el problema es que cuando el registro no trae la imagen de todas formas me muestra el espacio en blanco y yo no quiero esto.

Como le puedo decir que si el campo img trae un valor se muestre, de lo contrario no muestre nada?
pueden ayudarme por favor
__________________
Solamente quiero aprender, ayudenme!...
  #2 (permalink)  
Antiguo 04/07/2006, 16:26
Avatar de jmqc  
Fecha de Ingreso: noviembre-2004
Ubicación: Venezuela
Mensajes: 353
Antigüedad: 19 años, 4 meses
Puntos: 1
Lo que puedes hacer es consultar si $recordset["campo_imagen"]!="" llena uan uvaribale $img = $recordset["campo_imagen"] si no $img="/imagenes/nfoto.gif" o una imagen de tu preferencia a mostrar que signifique que no hay foto. Espero te sirva...Saludos
__________________
Ante el desconocimiento ni entendimiento de las cosas decimos que los demás estan locos.

José Quintero. Saludos.
:adios:
  #3 (permalink)  
Antiguo 04/07/2006, 17:04
Avatar de rockermendez  
Fecha de Ingreso: enero-2006
Ubicación: Guatemala
Mensajes: 123
Antigüedad: 18 años, 2 meses
Puntos: 0
gracias jmqc pero sige mi problema

Este es mi codigo

Código PHP:
<?php if ($totalRows_cont 0) { // Show if recordset not empty ?>
            <img src="<?php echo $row_cont['img']; ?>" border="0" class="upload_img" />
            <?php // Show if recordset not empty ?>
__________________
Solamente quiero aprender, ayudenme!...
  #4 (permalink)  
Antiguo 04/07/2006, 18:51
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 20 años, 9 meses
Puntos: 21
Pregunta que te imprime

que visualizas cuando pones <?php echo $row_cont['img']; ?>"
porque probablemnete no sea null
y tome algun carecter de default

saludos
__________________
gerardo
  #5 (permalink)  
Antiguo 04/07/2006, 20:34
 
Fecha de Ingreso: mayo-2006
Ubicación: Argentina (Buenos Aires,CABALLITO)
Mensajes: 331
Antigüedad: 17 años, 11 meses
Puntos: 9
yo uso esto:

<?php
if (@fopen($row[imagen], r) !== false ) { ?>
<img src="<?php echo $row[imagen]; ?>">
<?php
} else { ?>
<img src="tu imagen si no hay nada">
<?php } ?><

cambia $row[imagen] por el row de tu tabla.
saludos
  #6 (permalink)  
Antiguo 05/07/2006, 07:48
Avatar de rockermendez  
Fecha de Ingreso: enero-2006
Ubicación: Guatemala
Mensajes: 123
Antigüedad: 18 años, 2 meses
Puntos: 0
El problema es que me aparece un espacio en blanco con una X roja y yo quiero que si no hay imagen pues que entonces no se muestre nada.
__________________
Solamente quiero aprender, ayudenme!...
  #7 (permalink)  
Antiguo 05/07/2006, 08:09
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 1
suponiendo que en $row['imagen'] (ojo, pon comillas simples) tengas el nombre de la imagen y la ruta en el caso de que sea necesaria supongo que haciendo esto:

if (file_exists($row[imagen]) //muestras y sino nada

file_exists devuelve true si la imagen existe y false en caso contrario

tendría que funcionar, prueba a ver...
__________________
ALOZORRO v5.0 (ahora en .es)
  #8 (permalink)  
Antiguo 05/07/2006, 08:17
Avatar de rockermendez  
Fecha de Ingreso: enero-2006
Ubicación: Guatemala
Mensajes: 123
Antigüedad: 18 años, 2 meses
Puntos: 0
ok muchas gracias, yo lo pruebo ahorita
__________________
Solamente quiero aprender, ayudenme!...
  #9 (permalink)  
Antiguo 05/07/2006, 09:13
Avatar de rockermendez  
Fecha de Ingreso: enero-2006
Ubicación: Guatemala
Mensajes: 123
Antigüedad: 18 años, 2 meses
Puntos: 0
no me sale
Este es el codigo que pongo y tambien hay un campo que contiene el contenido o descripcion del formulario:
este es el codigo de la imagen y el contenido todo esto va dentro de un <tr>

Código PHP:
<tr>
<td height="23" valign="top" class="contenido"><span class="subtitulos">
<?php
if (@fopen($row_cont['img'], r) !== false ) { ?>
<img src="<?php echo $row_cont['img']; ?>" class="upload_img">
<?php
} else { ?>
<img src="picture/es_blank.JPG" width="3" height="9">
<?php ?>
</span><?php echo nl2br($row_cont['parrafo_1']); ?></td>
</tr>
<tr>
Este es el css que empuja la imagen a la izquierda y la redimenciona :
Código:
.upload_img{
	width:200px;
	height:200px;
	float:left;
	margin: 0.1in;
}
supuse que al poner un archivo jpg con el fondo blanco y de 1px * 1px (es_blank.JPG) no se notaria cuando el formulario no conteniera la imagen, pero no resulto asi.
Ayuda
__________________
Solamente quiero aprender, ayudenme!...
  #10 (permalink)  
Antiguo 05/07/2006, 09:51
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Como dice Azrael666 lo mejor es q uses el if (file_exists ($row_cont['img']) && !is_null($row_cont['img'])) y añadiendo al tema en lugar de mostrar una imagen en blanco xq no muestra un &nbsp;?

Info sobre el file_exist AQUÍ
  #11 (permalink)  
Antiguo 05/07/2006, 11:38
Avatar de rockermendez  
Fecha de Ingreso: enero-2006
Ubicación: Guatemala
Mensajes: 123
Antigüedad: 18 años, 2 meses
Puntos: 0
Disculpen tantas molestias pero..
ahora ni me muestra la imagen lo hice de esta manera

Código PHP:
<?php 
    
if (file_exists ($row_cont['img'])) {?>
        <img src=" $row_cont['img'];" class="upload_img">
    <?php } else {?>
        &nbsp;
    <?php }?>
Pueden ayudarme para saber donde se encuentra mi error
__________________
Solamente quiero aprender, ayudenme!...

Última edición por rockermendez; 06/07/2006 a las 08:08
  #12 (permalink)  
Antiguo 06/07/2006, 08:09
Avatar de rockermendez  
Fecha de Ingreso: enero-2006
Ubicación: Guatemala
Mensajes: 123
Antigüedad: 18 años, 2 meses
Puntos: 0
que es lo que estoy haciendo mal?
__________________
Solamente quiero aprender, ayudenme!...
  #13 (permalink)  
Antiguo 06/07/2006, 08:27
Avatar de nosoynadie  
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 18 años, 4 meses
Puntos: 1
Cita:
Iniciado por rockermendez
que es lo que estoy haciendo mal?
retomando lo que te decía calchis, ¿qué valor almacenas en el campo 'img' de la base de datos? Danos un ejemplo y te podremos decir algo.
__________________
http://www.nosoynadie.net/
  #14 (permalink)  
Antiguo 06/07/2006, 09:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por rockermendez
Disculpen tantas molestias pero..
ahora ni me muestra la imagen lo hice de esta manera

Código PHP:
<?php 
    
if (file_exists ($row_cont['img'])) {?>
        <img src=" $row_cont['img'];" class="upload_img">
    <?php } else {?>
        &nbsp;
    <?php }?>
Pueden ayudarme para saber donde se encuentra mi error
Con ese ejemplo .. hemos de "suponer" que en la BBDD sólo ingresa el nombre del archivo (y/o con ruta absoluta?) ...Pues hace una validación de que si existe tal archivo (file_exists() .. ) y dicha función sólo acepta una ruta de archivo físicamente.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #15 (permalink)  
Antiguo 06/07/2006, 09:02
Avatar de rockermendez  
Fecha de Ingreso: enero-2006
Ubicación: Guatemala
Mensajes: 123
Antigüedad: 18 años, 2 meses
Puntos: 0
ok
En el campo "img" guardo el path de una imagen que anteriormente subi en un formulario, en la BD solo guardo el path de dicha imagen asi que cuando muestro los datos del formulario no me da problema y se muestra de maravilla.

El problema surge cuando en dicho formulario no existe una imagen y por ende el campo "img" retorna vacio entonces ahi me muestra en IE un cado blanco con una X roja y en Firefox solo me muestra el espacio blanco.

este es mi codigo PHP lo modifique usando "file_exists" pero ahora no me muestra nada

Código PHP:
<?php 
    
if (file_exists ($row_cont['img'])) {?>
        <img src=" $row_cont['img'];" class="upload_img">
    <?php } else {?>
        &nbsp;
    <?php }?>
De antemano les agradesco su ayuda
__________________
Solamente quiero aprender, ayudenme!...
  #16 (permalink)  
Antiguo 06/07/2006, 09:12
Avatar de nosoynadie  
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 18 años, 4 meses
Puntos: 1
Siento ser pesado, pero mira en la base de datos y escribemos el valor almacenado en la base de datos para el campo img (no te lo pido por molestar, solo para poder descartar un posible error y así analizar otros).

Así todo, pongamos un ejemplo. Si en la base almacenaste el valor '/imagenes/imagen_uno.jpg' como ruta de la imagen, para poder hacer una correcta validación de la existencia de la imagen, debieras construir la ruta física completa. El código sería el siguiente:
Código PHP:
<?php 
    $imgF 
$_SERVER['DOCUMENT_ROOT'] . $row_cont['img'];
    echo (
file_exists ($imgF)) ? '<img src="'.$row_cont['img'].'" class="upload_img">' 'no hay imagen';
?>
__________________
http://www.nosoynadie.net/
  #17 (permalink)  
Antiguo 06/07/2006, 09:32
Avatar de rockermendez  
Fecha de Ingreso: enero-2006
Ubicación: Guatemala
Mensajes: 123
Antigüedad: 18 años, 2 meses
Puntos: 0
en la BD cuando se sube la imagen me muestra lo siguiente
picture/n_imagen.jpg .

con este codigo si me muestra la imagen pero cuando no hay ninguna imagen me muestra un cuadro blanco con una X roja.

Código PHP:
<?php
if (@fopen($row_cont['img'], r) !== false ) { ?>
<img src="<?php echo $row_cont['img']; ?>" class="upload_img">
<?php
} else { ?>
<img src="picture/es_blank.JPG" width="3" height="9">
<?php ?>
Entonces me dijeron que utilizara "file_exists" y lo hice pero al parecer algo hice mal porque ahora no me muestra ninguna imagen supongo que error lo tengo en la sintaxis podrian ayudarme.

Este es el codigo con el que estoy trabajando ahorita

<
Código PHP:
?php 
    if (file_exists ($row_cont['img'])) {?>
        <img src=" $row_cont['img'];" class="upload_img">
    <?php } else {?>
        &nbsp;
    <?php }?>
__________________
Solamente quiero aprender, ayudenme!...
  #18 (permalink)  
Antiguo 06/07/2006, 09:36
Avatar de nosoynadie  
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 18 años, 4 meses
Puntos: 1
el problema está, o eso creo, en la ruta de la imagen que ha de verificar file_exists(). Yo suelo usar is_file() y esta utiliza rutas fisicas completas no le valen
Código:
 picture/n_imagen.jpg
necesita rutas completas
Código:
/var/httpd/usuario/www/picture/n_imagen.jpg
Fijate en el código q antes te pasé y usalo Dime cómo te fué
__________________
http://www.nosoynadie.net/
  #19 (permalink)  
Antiguo 06/07/2006, 09:50
Avatar de rockermendez  
Fecha de Ingreso: enero-2006
Ubicación: Guatemala
Mensajes: 123
Antigüedad: 18 años, 2 meses
Puntos: 0
lo voy a probar, haber que pasa, muchas gracias
__________________
Solamente quiero aprender, ayudenme!...
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 21:02.