如何用php编写php代码到一个文件

pat*_*tyd 6 php fwrite

对于我网站的一部分,我需要能够使用php将php代码写入文件.例如:

$filename = "RtestR.php";
$ourFileName =$filename;
$ourFileHandle = fopen($ourFileName, 'w');



$written =  "
    <html>
    <body>
    <?php
    echo \"I like the color \".$_SESSION['color'].\"!!!!\";
    </body>
    </html>

";

fwrite($ourFileHandle,$written);

fclose($ourFileHandle);
Run Code Online (Sandbox Code Playgroud)

但是,它不会创建文件,而是抛出此错误:

解析错误:语法错误,意外T_ENCAPSED_AND_WHITESPACE,期望第14行的T_STRING或T_VARIABLE或T_NUM_STRING

我做错了什么以及将PHP代码写入文件的正确方法是什么?
编辑:
我想我可能需要让自己更清楚...我希望在加载新创建的文件时确定SESSION.从技术上讲,我不想在这个页面上获得会话,而是在我创建的页面上!我想将代码写入文件,而不是代码的输出!

pat*_*tyd 8

终于搞清楚了!我需要逃避我的$符号!像这样:

$written =  "
<html>
<body>
<?php
echo \"I like the color \".\$_SESSION['color'].\"!!!!\";
</body>
</html>

";
Run Code Online (Sandbox Code Playgroud)

不敢相信我没想到;)
谢谢大家!

  • 否。单引号不计算变量。“ $ var”将包含$ var的内容,“ \ $ var”将包含dollar-var和$ var。出现“ $ _SESSION ['color']”错误的原因是对数组值的正确访问应该是“ $ _SESSION [color]”而不引用索引,或者是“ {$ _SESSION [” color']}“`在整个var表达式周围带有花括号。花括号样式将适用于任何表达式,包括对象属性。 (2认同)