Primero, para forzar una descarga, es imposible por HTML, se hace por las cabeceras HTTP
Segundo, ES IMPOSIBLE DESCARGAR LITERALMENTE UN ARCHIVO PHP POR EL PROTOCOLO HTTP DESDE UN SERVIDOR QUE INTERPRESTA PAGINAS PHP
Aver si entendes, trata de hacer un rfi o busca algo que sea ftp () o lo que sea, pero si un servidor esta puesto que lea e interprete archivos PHP a HTML, nunca dara el PHP mismo al cliente.
Es como si quisieras ver el codigo binario de un archivo ejecutable simplemente haciendole doble click ( ejemplo pedorro pero es para que entiendas)