Foros del Web » Programando para Internet » PHP »

Validar si Existe Imagen

Estas en el tema de Validar si Existe Imagen en el foro de PHP en Foros del Web. Hola amigos tengo este codigo para validar una imagen si existe si no k ponga una x default pero no me funciona, podrian echarle un ...
  #1 (permalink)  
Antiguo 02/10/2006, 17:21
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 3 meses
Puntos: 33
Validar si Existe Imagen

Hola amigos tengo este codigo para validar una imagen si existe si no k ponga una x default pero no me funciona, podrian echarle un ojo y decirme donde esta el error o como deberia de ir, grax d antemano


Código PHP:
<?php 
    
include ("conex.php");
    
$query="SELECT cve_prod, nombre_pro, precio_pro FROM producto ORDER BY cve_prod";
    
    
$result mysql_query($query,$conex) or die( mysql_error() );  
    
///////////////////////////////////
//            1 Ofertas 
//            2 Novedades 
//            3 Oferta Principal 
//            4 Novedades Principal 
//            5 Productos Principal 
///////////////////////////////////    
        
    
echo "<br>";    
    echo 
"<table width=500 border=0 cellspacing=0 cellpadding=0 align=center>"
    
    
$columnes 4# Número de columnas (variable) 
    
    
if (($rows=mysql_num_rows($result))==0) { 
      echo 
"<tr><td colspan=$columnes class=\"txta\">No hay resultados en la BD.</td></tr> "
    } else { 
      
//echo "<tr><td colspan=$columnes class=\"txta\">$rows Resultados </td></tr>"; 
    


    for (
$i=1$row mysql_fetch_row ($result); $i++) { 
    
$resto = ($i $columnes); # Número de celda del <tr> en que nos encontramos 
    
if ($resto == 1) {echo "<tr>";} # Si es la primera celda, abrimos <tr> 
        
echo "<td>";
        echo 
"<table width=120 border=0 cellspacing=0 cellpadding=0 align=center class=\"tabla_prod\" >";
        
        
//// VALIDAMOS SI EXISTE LA IMAGEN ////
        
$ima $row[0];
        
$imagen "";
        
$imagen "img_prod/";
        
$imagen .= $ima;
        
$imagen .= ".jpg";
        
        
//si existe pones la imagen, sino no
        
if (file_exists($imagen)){
        echo 
"</tr><td height=90 align=center><a href=\"index.php?secc=desc&cve=",$row[0],"\"><img border=0 src=\"img_prod/",$row[0],"_s.jpg\"/></a></td> <td width=10></td> </tr>"//IMAGEN LINK
        
} else {
        echo 
"</tr><td height=90 align=center><a href=\"index.php?secc=desc&cve=",$row[0],"\"><img border=0 src=\"img_prod/no_imgen_s.jpg\"/></a></td> <td width=10></td> </tr>"//IMAGEN LINK*/
        
}

        
//// FIN DE LA VALIDACION DE IMAGEN ////
?>
  #2 (permalink)  
Antiguo 02/10/2006, 17:44
Avatar de renton  
Fecha de Ingreso: enero-2004
Ubicación: BCN (PPCC)
Mensajes: 573
Antigüedad: 20 años, 2 meses
Puntos: 1
yo primero testearía printando solo;

Cita:
if (file_exists($imagen)){
echo "existe";
} else {
echo "no existe";
}
Y simplificas más la cuestión.
A ver, primero haz pruebas con rutas de imagen estáticas, así te aseguras de que estás escribiendo bien la ruta. Una vez des con la ruta correcta, 90% de posiblidades de q este sea el problema), dinamizas la función y, ya al final, insertas el html en los echo.

Y recuerda q no es bueno empezar la casa por el tejado...
step by step!!
__________________
"No et limites a contemplar aquestes hores que ara venen, baixa al carrer i participa.
No podran res davant un poble unit, alegre i combatiu!!"
  #3 (permalink)  
Antiguo 02/10/2006, 17:49
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
Podrias copiar y pegar el error que te da? o si no te da error de cosas no hace de las que deberia hacer ?

No lo he probado pero veo que arma la url hacia la imagen de dos formas distintas
aca:

$imagen .= $ima;
$imagen .= ".jpg";

concatena el nombre de la imagen con la extencion
Pero aca:
<img border=0 src=\"img_prod/",$row[0],"_s.jpg\"/>
Concatena el nombre con _s y despues .jpg

podria se eso pero no lo probe, estoy cansado :)
  #4 (permalink)  
Antiguo 03/10/2006, 07:43
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 3 meses
Puntos: 33
Hola renton ya probe tu codigo pero me marca k no existe la imagen y con el k tenia antes si me las pone pero las k no estan no las cambia x la imagen de default =(
  #5 (permalink)  
Antiguo 03/10/2006, 07:47
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 3 meses
Puntos: 33
hola lisandro no me marca ningun error lo unico es k no me valida es si la imagen existe o no y al no existir no me pone la de default si no el tipico cuadrito k no la encontro y si va armando la url para k luego la valide y luego si existe la coloca con _s k es imagen "SMALL"
  #6 (permalink)  
Antiguo 03/10/2006, 08:14
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 3 meses
Puntos: 33
ya lo solucione amigos grax x su ayuda =D
  #7 (permalink)  
Antiguo 03/10/2006, 08:21
Avatar de lisandro Arg  
Fecha de Ingreso: octubre-2003
Ubicación: Cordoba, Argentina
Mensajes: 945
Antigüedad: 20 años, 6 meses
Puntos: 24
En principio algo que no me parece correcto es validar si exite imgane.jpg y si exite intentar mostrar imagen_s.jpg porque puede ser que imagen.jpg si exista pero imagen_s.jpg no

cambia esto:
<img border=0 src=\"img_prod/",$row[0],"_s.jpg\"/>
por
esto:
<img border=0 src=\"img_prod/",$row[0],".jpg\"/>
y decime si sigue dando el error

Por otro lado si te muestra el cuadradito tipico de que la imagen no esta en el navegador dale click con el boton derecho y anda a prodiedades, fijate si la ruta que te muestra es donde deberia estar la imagen, porque puede ser que el script este armando mal la ruta hacia la imagen.
  #8 (permalink)  
Antiguo 03/10/2006, 08:42
Avatar de omegafunky  
Fecha de Ingreso: diciembre-2003
Ubicación: Tabasco, Mexico
Mensajes: 3.534
Antigüedad: 20 años, 3 meses
Puntos: 33
si efectivamente ahi staba mi error lisandro grax x tu comentario
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:58.