Je n'ai pas testé ce que tu donnes (je suis plus accro à l'Asp.net) mais dans le principe c'est assez simple.
Tu fais un lien vers un fichier php/asp qui recoit en parametre ne nom du fichier à télécharger. Il le trouve sur le serveur (ou ailleurs) et l'envoie au client. Ca se complique légèrement (en fait non, il faut juste y penser) si tu veux gérer plusieurs types de fichiers.