使用fopen()创建.php文件

时间:2018-03-20 15:57:21

标签: php

我正在尝试这个:

<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只需将代码保存为字符串。

2 个答案:

答案 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'不会评估。

但是,这会带来巨大的安全隐患,因此我可能会备份并查看您正在尝试做的事情。