我正在尝试这个:
<a href="
<?php
$fl= $p['n'].".php";
$fh = fopen($fl, 'w') or die("Can't create file");
if($fh)
{
$code ="
<?php
// html and php combined code (the php is for sessions)
?>";
echo fwrite($file,$code);
fclose($file);
}?>"></a>
问题在于$code
内的代码正在评估中,我需要$code
只需将代码保存为字符串。
答案 0 :(得分:2)
使用PHP's nowdoc功能(强调我的):
Nowdocs是单引号字符串,heredocs是双引号字符串。类似于heredoc指定了nowdoc,但是在nowdoc内部没有进行解析。 该构造非常适合嵌入PHP代码或其他大块文本而无需转义。
<?php
$test_var = 1;
$str = <<<'EOD'
Example of string
spanning multiple lines
using nowdoc syntax.
$test_var
EOD;
echo $str;
输出
Example of string
spanning multiple lines
using nowdoc syntax.
$test_var
所以这......
<a href="
<?php
$fh = fopen($p['n'].'.php', 'w') or die("Can't create file");
if($fh)
{
$code = <<<'EOD'
<?php
// html and php combined code (the php is for sessions)
?>"
EOD;
echo fwrite($file,$code);
fclose($file);
}?>"></a>
......应该适合你。
答案 1 :(得分:1)
使用"$foo"
会评估,但'$foo'
不会评估。
但是,这会带来巨大的安全隐患,因此我可能会备份并查看您正在尝试做的事情。