Si può fare!
è sufficiente creare il contenuto del file in una variabile (ad esempio $testo) e poi modificare gli header della pagina in modo che appaia e venga trattata come un file da scaricare:
Codice PHP:
$nome="nomefile";//nome del file
$est=".txt";//Estensione del file
$testo="testo testo";//contenuto del file
header("Content-Type: application/octet-stream");//dico al browser che si tratta di un tipo di file che và necessariamente scaricato
header("Content-Disposition: attachment; filename=\"".$nome.".".$est."\"");//dico il nome del file
echo $testo;//scrivo il contenuto del file