yo tenia una rutina para guardar imagenes y generarles el nombre que yo queria... pero es un poquito larga. Con el motivo de reducir mi codigo me guie de las FAQs y obtuve una rutina mas pequeña que te genera números random como nombre ... supongo yo que no creo que se repita ya que los numeros al azar son muchos (por eso no estoy muy seguro de esta rutina ... por ahora).
Basandonos en el principio de que es mas facil guardar el nombre del archivo en un campo de datos y el archivo fisico en una carpeta, ahi te va el codigo:
Código PHP:
<?php
ini_set ( "memory_limit", "24M");
//***********************SUBIR IMAGEN NORMAL ********************************************/
if (is_uploaded_file($_FILES['imagen']['tmp_name']) )
{
//recojo la imagen
$imagen = $_FILES['imagen']['name'];
//Obtengo el nombre de la imagen y la extensión de la foto
$imagen1 = explode(".",$imagen);
//Genero un nombre aleatorio con números y se asigno la extensión obtenido anteriormente
$imagen2 = rand(0,9).rand(100,9999).rand(100,9999).".".$imagen1[1];
//Coloco la iamgen del usuario en la carpeta correspondiente con el nuevo nombre
move_uploaded_file($_FILES['imagen']['tmp_name'], "images/productos/".$imagen2);
//Asigno a la foto permisos
$ruta="images/productos/".$imagen2;
chmod($ruta,0777);
echo "Tu nueva imagen ha sido subida. ";
}
?>