Tienes que gestionar las cabeceras HTTP vía PHP .. para eso, debes generar las cabeceras adecuadas para indicar que el "dato" que vas a enviar es para forzar la descarga (como "attachment") y leer tu archivo vía PHP (con readfile() por ejemplo) para entregarlo al buffer de salida de PHP.
más info:
www.php.net/header www.php.net/readfile
En las FAQ's de este foro tienes un ejemplo que usa opción "resume" (por si se corta la conexión . .poder restaurar la bajada del archivo desde donde se quedó).
Un saludo,