使用PHP创建PHP文件?

使用PHP创建PHP文件?,php,Php,我正计划创建一个简单的脚本,允许没有PHP经验的用户为一个视频游戏创建代码文件。我有两个文件,“code.txt”和“exec.php”。第一个文件如下所示: getglobal_move_call("TurnTarget") getglobal_move_loadk_call("GenerateCSM", "15") <? $temp_line = "TurnTarget(param1)"; file_put_contents($generated_output, $temp_lin

我正计划创建一个简单的脚本,允许没有PHP经验的用户为一个视频游戏创建代码文件。我有两个文件,“code.txt”和“exec.php”。第一个文件如下所示:

getglobal_move_call("TurnTarget")
getglobal_move_loadk_call("GenerateCSM", "15")
<?

$temp_line = "TurnTarget(param1)";
file_put_contents($generated_output, $temp_line, FILE_APPEND);
$temp_line = "GenerateCSM(param1, 15)";
file_put_contents($generated_output, $temp_line, FILE_APPEND);

?>
“exec.php”创建一个“temp.php”,导入用户创建的文件。它充满了“str_replace”函数,结果应该是这样的:

getglobal_move_call("TurnTarget")
getglobal_move_loadk_call("GenerateCSM", "15")
<?

$temp_line = "TurnTarget(param1)";
file_put_contents($generated_output, $temp_line, FILE_APPEND);
$temp_line = "GenerateCSM(param1, 15)";
file_put_contents($generated_output, $temp_line, FILE_APPEND);

?>

但是,当我在这些替换之后回显我的代码时,我得到的是:

<?

 = "TurnTarget(param1)";
 file_put_contents(User/Apple/Sites/Generate/Generated.txt, , FILE_APPEND);
 = "GenerateCSM(param1, 15)";
 file_put_contents(User/Apple/Sites/Generate/Generated.txt, , FILE_APPEND);

?>


如您所见,str_替换删除的所有变量。有解决方案吗?

这是因为您在代码中使用了
,而PHP将
$temp\u line
替换为它的实际值(null,因为没有这样的变量)

要回显PHP代码,请使用
\


$code=通过分隔“$”符号和变量名称修复了该问题

str_replace("templine", "$"."templine", $code);

您要替换的
$temp_line
字符串可能是空字符串或空字符串。如果看不到任何说明问题的代码,您所问的就没有多大意义。