Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/04/2009, 16:03
Avatar de kimmy
kimmy
 
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Pregunta Cambiar nombre al guardar ruta de img en la bd

Hola amigos:

Tengo un código que me guarda la ruta de las imagenes en la Bd y la imagen en una carpeta en el sitio.

Lo que quiero hacer es que al guardarla en ambas partes le cambie el nombre que traiga la foto y le asigne un autonumerico.

Este es el código con que guardo:

$archivo = getimagesize($_FILES['img']['tmp_name']);
switch ($archivo[2]) {
case 1:
$imagen = imagecreatefromgif($_FILES['img']['tmp_name']); break;
case 2:
$imagen = imagecreatefromjpeg($_FILES['img']['tmp_name']); break;
case 3:
$imagen = imagecreatefrompng($_FILES['img']['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 = 175; //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 = "../imgs/";
$namefinal = strtolower(str_replace(' ', '-', $_FILES['img']['name']));

// Quitamos la extension
list($namefinal, $extension) = explode('.', $namefinal);
// Agregamos la extension .jpg
$uploadfile= $ruta_destino . $namefinal . '.jpg';
$namefinal= ereg_replace (" ", "", $namefinal);
//quito los espacios entre las palabtas del nombre si los hay
if(imagejpeg($muestra,$uploadfile,'100')) { // se coloca en su lugar final
echo "<b>Upload exitoso!. Datos:</b><br>";
echo "Nombre: <i><a href=\"".$uploadfile."\">".$_FILES['img']['tmp_name']."</a></i><br>";
echo "Tipo MIME: <i>".$_FILES['img']['type']."</i><br>";
echo "Peso: <i>".$_FILES['img']['size']." bytes</i><br>";
echo "<br><hr><br>";
}
//Insercion de los datos, ojo la imagen se graba con su nombre original en la tabla (es un campo varchar)
$sql_ins = "INSERT INTO articulos (imagen) " .
"VALUES ('$namefinal')";
$res = mysql_query($sql_ins) or die ( "Error MySQL dice: " . mysql_error() );

Gracias por su ayuda...