Creo que lo que buscas es tener un script en php que "lea" el archivo (segun ID), y que te entregue el contenido para descargar, sin necesidad de que se sepa la direccion...
No estoy seguro como se hace, pero es algo con esta logica:
1.- Recibes la solicitud via URL (
www.tusitio.com/descargas.php?ID=1)
2.- En tu script revisas tu BD para saber que el ID=1 corresponde a "archivos/musica.avi"
3.- Te "traes" el archivo a una funcion (Aqui es donde no estoy seguro si es con fopen, readfile, o que)
4.- Haces que tu funcion devuelva el contenido del archivo
5.- Configuras la salida para que sea "download/binary" en lugar de "text/html"
Bueno, no es algo que haya hecho, pero la logica me dice que esto debería ser posible...
Veamos si hay alguien que realmente sepa como hacer estas cosas... solo estoy cambiando la orientación de las respuestas.
Saludos!