Foros del Web » Programando para Internet » PHP »

cambiar nombre de imagen al subir

Estas en el tema de cambiar nombre de imagen al subir en el foro de PHP en Foros del Web. Hola amigos : Mediante este codigo que adjunto agrego un registro a la base de datos en el que incluye una imagen asociada . Lo ...
  #1 (permalink)  
Antiguo 11/09/2009, 19:48
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta cambiar nombre de imagen al subir

Hola amigos :
Mediante este codigo que adjunto agrego un registro a la base de datos en el que incluye una imagen asociada .
Lo que quiero lograr es cambiar el nombre de la imagen antes de que se guarde en la base de datos y que no se guarde con el nombre que tiene la imagen en la pc del usuario
La situacion ideal seria ponerle el mismo nombre qie eñ numero que le asigna automaticamente a idproducto que es el indice de la tabla

idproducto=nombre_ nuevo_prodcuto

Para efectuar el cambio de nombre a la imagen tengo dudas de en que parte del codigo puedo cambiarle el nombre sin provocar error.

Y mi segunda duda es como puedo asiganle ese nombre si aun ese numero no existe pues es generado alo ser guardado.
Si me dan una ayudita se los voy a agradecer pues mis conocimeitos son muy limitados
GRacias por adelantado

< ?
session_start();
include 'db.php';
//if (conexion){echo "conexion ok ";}
//else
//{echo "falló la conexión ";}
$respuesta="productos.php";

$archivo = $_FILES['archivoAdj']['name'];
$tipo_archivo = $_FILES['archivoAdj']['type'];
// tamano_archivo= Almacena el tamaño del archivo en bytes
$tamano_archivo = $_FILES['archivoAdj']['size'];
$temporal = $_FILES['archivoAdj']['tmp_name'];
$destino ="images/productos/".$archivo;
//compruebo la extensíon del archivo
if (!(strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")|| strpos($tipo_archivo, "png")))
{$error = urlencode("Sólo se pueden subir imagenes con extensiones JPEG - GIF - PNG");
header("Location: productos.php?error=".$error);
exit() ;
}
// El valor que arroja el "size" son bytes .. (1 Kbyte = 1024 bytes .. ) así que 60 Kbytes son 61440 bytes
if ($tamano_archivo > 61440)
{
$error = urlencode("La imagen no puede ser exceder los 60 Kbytes");
header("Location: productos.php?error=".$error);
exit() ;
}

if (is_uploaded_file($temporal))
{move_uploaded_file($temporal, $destino);}

$consultaSQL="insert into productos (nombreProducto,descripcionProducto,precioProducto ,imagenProducto) values('$_REQUEST[articulo]','$_REQUEST[descripcion]','$_REQUEST[precio]','$archivo')";
mysql_db_query($database, $consultaSQL, $conexion);
echo "<meta HTTP-EQUIV='refresh' content='1;url=$respuesta'>";

?>
  #2 (permalink)  
Antiguo 11/09/2009, 20:12
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: cambiar nombre de imagen al subir

Hola, Si lo deseas Puedes usar algo así como esto:

Código PHP:
<?php 
$imgeOriginal 
'MyImg.jpg';

function 
ReNombrarImg($imgeOriginal){
return 
uniqid() . $imgeOriginal;
}
echo 
ReNombrarImg($imgeOriginal);
//Resultado...  4aab02f43938aMyImg.jpg
?>
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #3 (permalink)  
Antiguo 11/09/2009, 20:23
 
Fecha de Ingreso: julio-2009
Mensajes: 311
Antigüedad: 14 años, 9 meses
Puntos: 0
Pregunta Respuesta: cambiar nombre de imagen al subir

Cita:
Iniciado por thezzin Ver Mensaje
Hola, Si lo deseas Puedes usar algo así como esto:

Código PHP:
<?php 
$imgeOriginal 
'MyImg.jpg';

function 
ReNombrarImg($imgeOriginal){
return 
uniqid() . $imgeOriginal;
}
echo 
ReNombrarImg($imgeOriginal);
//Resultado...  4aab02f43938aMyImg.jpg
?>
Creo no comprendiste que queiro ponerle ul ultimo id asignado y no cualqueir nombre gracias por tu sugerencia igual
  #4 (permalink)  
Antiguo 11/09/2009, 20:47
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: cambiar nombre de imagen al subir

Cita:
Iniciado por marcos46g Ver Mensaje

Y mi segunda duda es como puedo asiganle ese nombre si aun ese numero no existe pues es generado alo ser guardado.
pues la realidad de las cosas es que no te entiendo y lo único que puedo entender un poco es a ese numero que te refieres que no existe. y si usas algo para generar un numero aleatorio para algo. pues por supuesto que también lo puedes usar para renombrar la imagen con ese numero...

quizás alguien te entienda mejor y te pueda ayudar.
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #5 (permalink)  
Antiguo 11/09/2009, 20:57
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: cambiar nombre de imagen al subir

Hola
thezzin, lo que marcos46g quiere hacer es asociar al nombre del archivo el id que se le genera cuando inserta
Sin embargo, como el mismo marco dice el id todavía no existe
Para estoy hay 2 soluciones

1. Insertar y luego actualizar el registro (y antes del update hacer una consulta a esa tabla con el last_insert_id o el max o un count para traer el ultimo id de registro insertado)
2. Hacer una consulta antes de insertar que vaya y mire el ultimo
registro insertado en la tabla, traiga ese id o el count de esa consulta
y luego a esa variable sumarle uno y con eso ya se tendría el id que va a ser
insertado, y listo, esa variable se le pone al nombre del archivo

Bueno, nos cuentas
Saludos
  #6 (permalink)  
Antiguo 11/09/2009, 20:58
 
Fecha de Ingreso: julio-2009
Ubicación: En mi casa
Mensajes: 48
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: cambiar nombre de imagen al subir

pues en esto no soy experto, pero creo que no se puede, lo mejor que puedes hacer es generar un codigo y guardar el codigo+algomas+extencion y almacenar este valor como el nombre... pero mis conocimientos son limitados...
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 05:31.