Ver Mensaje Individual
  #2 (permalink)  
Antiguo 22/07/2009, 18:50
Avatar de kimmy
kimmy
 
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Como subir imagenes a directorio y guardar ruta en Base de Da

Hola:

Tengo un código que te puede servir:

Código PHP:
<?php
$archivo 
getimagesize($_FILES['foto']['tmp_name']);  
switch (
$archivo[2]) { 
  case 
1
    
$imagen imagecreatefromgif($_FILES['foto']['tmp_name']); break; 
  case 
2
    
$imagen imagecreatefromjpeg($_FILES['foto']['tmp_name']); break; 
  case 
3
    
$imagen imagecreatefrompng($_FILES['foto']['tmp_name']); break; 
  
// etcétera //  
  
}
 
 if(!
$imagen)
    die(
'No se pudo crear la imagen.');  

$original $imagen
$original_w imagesx($original); 
$original_h imagesy($original); 

$max 125;  //AQUI PONES EL TAMAÑO DE LA IMAGEN A LO QUE QUIERAS 

if($original_w>$original_h) { 
    
$muestra_w $max
    
$muestra_h intval(($original_h/$original_w)*$max); 
    } else { 
    
$muestra_w intval(($original_w/$original_h)*$max); 
    
$muestra_h $max
    } 

$muestra imagecreatetruecolor($muestra_w,$muestra_h);  

$muestra imagecreatetruecolor($muestra_w,$muestra_h);  

imagecopyresampled($muestra,$original,0,0,0,0$muestra_w,$muestra_h,$original_w,$original_h); 
imagedestroy($original); // aqui destruyo el original, pues no hace falta ya 

 // me verifica haya sido cargado el archivo  
        
$ruta_destino "/fotos/"
        
$namefinal strtolower(str_replace(' ''-'$_FILES['foto']['name']));

        
// Quitamos la extension
        
list($namefinal$extension) = explode('.'$namefinal);
        
// Agregamos la extension .jpg
$namefinal mysql_insert_id();

// Guardas el archivo:
$uploadfile$ruta_destino $namefinal '.jpg';
//quito los espacios entre las palabtas del nombre si los hay
if(imagejpeg($muestra,$uploadfile,'100')) 

// se coloca en su lugar final    
// Se guardo correctamente    
// Si aun crees necesario guardar el nombre con ruta en la base de datos:    
$query "UPDATE fotos SET id_foto = '$namefinal' WHERE id_producto = '$namefinal'";    
mysql_query($query) or die(mysql_error());
}
?>
Espero que te sirva.