No sé que es "temporal" o en el contexto que lo usas ..
Según entiendo tu necesitas dar el nombre del archivo que vas a descargar según te convenga ..
Que dato guardas en tu BBDD? .. el nombre del archivo original como referencia? (supongo) .. confirma esto.
Si es así y vas a iniciar la "descarga del archivo" .. tienes que usar las cabeceras HTTP correspondientes para indicar que los datos que vas a enviar al cliente son para descargar .. Una de esas cabeceras define el nombre del archivo que tendrá o se ofrecerá cuando se descargue .. es ahí donde pondras tu nombre ...
Código PHP:
<?php
// De alguna forma obtendras o sabras el formato MIME del archivo (no sé como lo haces tu)
header('Content-type: $tipo_archivo');
// Dependiendo de como identifiques el archivo .. por nombre del archivo o por el formato MIME del mismo .. así obtendras la $ext ensión del archivo para concatenarla con tu "cadena" fija: temp ...
// Esta es la cabecera que define entre otras cosas
// el nombre del archivo que se te ofrece cuando lo descargas.
header('Content-Disposition: attachment; filename="tmp.'.$ext.'"');
readfile($archivo);
?>
Un saludo,