Pues puedes hacerlo tranquilamente con las funciones de manejo de buffer, es decir con las funciones ob_*
 
Podrias hacer algo asi como:  
 Código PHP:
    function buildHTMLPage($archivo, $modo = "w+") {
ob_start()
for($i = 0; $i < 10; $i++) {
echo $i . "<br>"
}
$HTML = ob_get_contents();
ob_end_clean();
$fp = fopen($archivo, $modo);
fwrite($HTML, $fp);
fclose($fp)
}
 
buildHTMLPage("index.html", "a+"); 
    
  Eso lo que te hace es generar una pagina llamada index.html a partir de un bucle, la pagina contendria un listado de numeros, lo mismo que eso lo puedes hacer generando el codigo via PHP, metiendolo en un buffer y escribiendo un archivo con los datos de ese buffer. 
Espero que te sea de ayuda! 
Un saludo!!