Foros del Web » Programando para Internet » PHP »

por que no se visualiza la imagen

Estas en el tema de por que no se visualiza la imagen en el foro de PHP en Foros del Web. Hola amigos del foro; soy nuevo pero espero que me ayuden, el problema es el siguiente: Cuando subo una imagen con un nombre que ya ...
  #1 (permalink)  
Antiguo 15/11/2005, 19:11
 
Fecha de Ingreso: julio-2005
Mensajes: 36
Antigüedad: 12 años, 4 meses
Puntos: 0
por que no se visualiza la imagen

Hola amigos del foro; soy nuevo pero espero que me ayuden, el problema es el siguiente:

Cuando subo una imagen con un nombre que ya esta registrada en la base de datos y por ende ya guardada en un carpeta la renombro con la fecha(dd-mm-aaaa) y la hora(h-m-s) en que ha sido subida ejemplo:
Frontal.jpg
la renombro a:
Frontal(24-11-2005&17-16-43).jpg
la imagen se guarda con ese nombre pero cuando uso un thumnails para visualizarlas mas pequeñas la imagen previa o enpequeñecida no aparece para las renombradas. alguna sugerencia del porque:
les pongo el codigo con que las renombro y guardo:

Código PHP:
//funcion para redimensionar la imagen($img_original) y guardarla a un directorio($dir) con un ancho,alto,calidad
function redimensionar($img_original,$dir,$ancho$alto$calidad) {
    if (!
file_exists($img_original)){echo "no existe el archivo";return false;}
    
$datos=getimagesize($img_original);
    if (
$datos[2]==2)
    {
    
// crear imagen desde original
        
$img imagecreatefromjpeg($img_original);
    
// crear imagen nueva
    
$thumb imagecreatetruecolor($ancho,$alto);
        
// redimensionar imagen original copiandola en la imagen
    
imagecopyresized($thumb,$img,0,0,0,0,$ancho,$alto,ImageSX($img),ImageSY($img));
        
// guardar la imagen redimensionada donde indicia $img_nueva
    
imagejpeg($thumb,$dir,$calidad);
    
imagedestroy($thumb);
    
imagedestroy($img);
    }
    else if (
$datos[2]==3)
        {
    
// crear imagen desde original
        
$img imagecreatefrompng($img_original);
    
// crear imagen nueva
    
$thumb imagecreatetruecolor($ancho,$alto);
        
// redimensionar imagen original copiandola en la imagen
    
imagecopyresized($thumb,$img,0,0,0,0,$ancho,$alto,ImageSX($img),ImageSY($img));
        
// guardar la imagen redimensionada donde indica $dir con la calidad $calidad
    
imagepng($thumb,$dir,$calidad);
    
imagedestroy($thumb); 
    
imagedestroy($img);
    }
    else{return 
false;}
    return 
true;
  }

if(
is_uploaded_file($_FILES['fondo']['tmp_name']))
    { 
// verifica haya sido cargado el archivo
    
if (($_FILES['fondo']['type']=="image/jpeg")or($_FILES['fondo']['type']=="image/pjpeg")or($_FILES['fondo']['type']=="image/png"))
    {
    
$dir="../Imagen/menu/fondo/";//carpeta donde debe guardarse la imagen final
    
$dir_temp="../Imagen/menu/";//carpeta donde se guarda temporalmente la imagen para ser reducida
    
$nombre=$_FILES['fondo']['name'];
    
$ext=substr(strrchr($nombre,"."),0);//se extrae la extension
    
$sinext=substr($nombre,0,strlen($nombre)-strlen($ext));//se extrae el nombre sin extension
    
$consulta=pg_exec("select nom_img from imagenes where ((nom_img='$nombre')and(dir_img='$dir'))");//ojo la consulta mas abajo se hace sobre una conexion a la base de datos
    
$dato=pg_fetch_object($consulta);
    
$dat=$dato->nom_img;
    if (
$dat!="")
        {
//si la variable $dat es distinto de vacio significa que existe ese nombre y esa imagen(adiero la fecha y hora al nombre)
        
$nombre=$sinext."(".date(d)."-".date(m)."-".date(Y)."&".date(G)."-".date(i)."-".date(s).")".$ext;
        
$mensaje="(ya existia con ese nombre y fue renombrado a:) ";
        }
        else
//la variable es vacia es decir no hay nombre y se mantien el nombre
        
{
        
$nombre=$sinext.$ext;
        }
    if(
move_uploaded_file($_FILES['fondo']['tmp_name'],$dir_temp.$_FILES['fondo']['name']))
        { 
// se coloca en su lugar final
        
if (redimensionar($dir_temp.$_FILES['fondo']['name'],$dir.$nombre,768,1024,75))
        {
        
recuperar_ide_imagenes();
        
$res=pg_exec("insert into imagenes(ide_img,nom_img,dir_img)values($ide_imagenes,'$nombre','$dir')");
        echo
"el archivo para el fondo ".$mensaje.$nombre." ha sido subido correctamente.<br>";
        }
        else
        {
        echo
"el archivo ".$_FILES['fondo']['name']." tiene una estructura diferente a los formatos admitidos, puede 
        ser que la extension no pertenesca al tipo de archivo que se intenta subir: no se guardo el archivo para el fondo.<br>"
;
        } 
        
unlink($dir_temp.$_FILES['fondo']['name']);    //se borra el archivo que se ha subido temporalmente de ese directorio
            
}
        else
        {
        echo
"el archivo para el fondo : ".$_FILES['fondo']['name']." no se pudo subir al servidor, intentelo mas tarde<br>";
        }
    }
    else
    {
    echo
"el archivo de fondo: ".$_FILES['fondo']['name']." no es un archivo de tipo imagen su extension es: ".$_FILES['fondo']['type']."<br>    Tipos de extension aceptados:  JPEG, PJPEG, PNG.<br>";
    }
    }
    else
    {
    echo
"el archivo de fondo no pudo ser cargado<br>";
    } 

Última edición por Cluster; 16/11/2005 a las 07:03
  #2 (permalink)  
Antiguo 18/11/2005, 18:17
 
Fecha de Ingreso: julio-2005
Mensajes: 36
Antigüedad: 12 años, 4 meses
Puntos: 0
Por favor no hay alguien que tenga una sugerencia o consejo del por que, se los estare muy agradecido.
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 22:47.