Hallo,
<?php
ob_start();
?> hallo, das ist ein html-text, <?php echo "der auch teils in php erstellt wurde";
»» ob_end_flush(); Hier zu früh!
$data = ob_get_contents();
und hier wahlweise eben
ob_end_flush();
#oder
ob_end_clean();
denn ob_end_flush() leert den Buffer und gibt ihn an den Browser aus, und ob_end_clean() leert den Buffer ins Dev NUL. Beide beenden die Ausgabeunterbrechnung.
$datei = fopen("test.htm","w");
echo fwrite($datei, $data);
fclose($datei);
?>
So müsste das klappen.
LG
Chris