... para empezar, al recojer el valor de la URL debes usar la variable superglobal $_GET.
No puedes tener el "link" en ese mismo script, el link ha de apuntar al archivo que contenga ese script independientemente:
Código HTML:
<a href="archivo_descargar.php?id=XX">Archivo</a>
Además, debes especificar en las cabeceras el tipo de archivo del que se trata, no "unknown" como lo tienes ahora. Utiliza
fread() en lugar de ese fopen() y demás.
Busca en el foro por "forzar descarga", hay muchos scripts.. en los comentarios del enlace que te dejo viene.
Suerte!