Hola,
Para cambiar el nombre del archivo debes renombralo con rand, te adjunto el código y una página en la cuál se explica el proceso para subir el archivo al servidor y la BD.
mira esto:
Código PHP:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
////////////// Parte añadida 1 //////////////
//array de archivos disponibles
$archivos_disp_ar = array('jpg', 'jpeg', 'gif', 'png');
//carpteta donde vamos a guardar la imagen
$carpeta = 'imagenes/';
//recibimos el campo de imagen
$imagen = $_FILES['imagen']['tmp_name'];
//guardamos el nombre original de la imagen en una variable
$nombrebre_orig = $_FILES['imagen']['name'];
//el proximo codigo es para ver que extension es la imagen
$array_nombre = explode('.',$nombrebre_orig);
$cuenta_arr_nombre = count($array_nombre);
$extension = strtolower($array_nombre[--$cuenta_arr_nombre]);
//validamos la extension
if(!in_array($extension, $archivos_disp_ar)) $error = "Este tipo de archivo no es permitido";
if(empty($error)){
//creamos nuevo nombre para que tenga nombre unico
$nombre_nuevo = time().'_'.rand(0,100).'.'.$extension;
//nombre nuevo con la carpeta
$nombre_nuevo_con_carpeta = $carpeta.$nombre_nuevo;
//por fin movemos el archivo a la carpeta de imagenes
$mover_archivos = move_uploaded_file($imagen , $nombre_nuevo_con_carpeta);
//de damos permisos 777
chmod($nombre_nuevo_con_carpeta,0777);
///////////////////////////////////////////
// se agrega "archivo_archivos, extension_archivos y la fecha" a la consulta y dos extra %s separados por comas
$insertSQL = sprintf("INSERT INTO archivos (tipo_archivos, nombre_archivos, archivo_archivos, extension_archivos, fecha_archivos) VALUES (%s, %s, %s, %s, NOW())",
GetSQLValueString($_POST['tipo'], "text"),
GetSQLValueString($_POST['nombre'], "text"),
////////////// Parte añadida //////////////
GetSQLValueString($nombre_nuevo, "text"),
GetSQLValueString($extension, "text"))
///////////////////////////////////////////
;
mysql_select_db('NOMBRE DE TU DATABASE', 'NOMBRE DE TU CONNECCION AQUI');
$Result1 = mysql_query($insertSQL, 'INCLUIR TU CONNECCION AQUI') or die(mysql_error());
}
}
La explicación está aquí,(no tomes en cuenta lo que dice relación con DW)
http://juaniquillo.com/blog/2010/07/...r-php-y-mysql/
Saludos