Tu tienes claro que formato tiene que tener ese tipo de archivo? .. separadores de lìnea .. comandos? .. codificación? .. etc ..?
Bueno .. una vez que lo tengas .. ya que el objetivo como lo planteas es entregarlo a descargar .. no hace falta ni que generes un archivo fìsicamente en el servidor. Lo generas sobre una variable y lo entregas al buffer de salida de PHP indicando vìa cabeceras HTTP que el archivo generado es para descargar:
Las cabeceras HTTP con PHP se envian por:
header()
www.php.net/header
Y "entregar el dato generado al buffer de salida" (menudo nombre para lo que es en realidad) .. es tan sòlo hacer un:
echo $tu_Reg_generado;
Un saludo,