I did this and it worked:
$myvariable ="12345";
$messagetext = "<?PHP" . "$" . "test" . " = $myvariable; ?>";
$fp = fopen($filename, "w") or die ("Couldn't open $filename");
fwrite($fp, $messagetext);
if you add each section seperatly PHP doesn't know what is going on and writes the file like this:
<?php $test = "12345"; ?>