如何将PHP脚本分配给PHP中的变量

时间:2012-12-12 19:56:11

标签: php

我正在尝试在一个文件中编写php脚本。它肯定会在那上面得到Parsing错误。请帮我将php代码分配给php变量,这样我就可以在代码上编写它。

<?php

$myFile = "testFile1.php";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = "<?php some php code with functions ?>";
fwrite($fh, $stringData);
fclose($fh);

?>

5 个答案:

答案 0 :(得分:3)

将字符串放在要用于写入文件的单引号中,否则将其解释。

$stringData = '<?php some php code ?>';

或者,您可以转义代码,请参阅php手册中的“字符串”一章以获取更多详细信息:http://php.net/manual/en/language.types.string.php

答案 1 :(得分:2)

使用单引号:

<?php

$myFile = "testFile1.php";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = '<?php some php code ?>';
fwrite($fh, $stringData);

fclose($fh);

?>

答案 2 :(得分:1)

例如:

    <?php

    $myFile = "testFile1.php";
    $fh = fopen($myFile, 'w') or die("can't open file");
    $var1 = 'value1';
    $var2 = 'value2';

    $stringData =
        '<?php $var1 = ' . $var1 . ';
        $var2 = ' . $var2 . ';
        do_something($var1); ?>';

    fwrite($fh, $stringData);

    fclose($fh);

?>

所以只需使用单引号来确保php不会将变量解析为变量本身,并使用连接将var值放入文件中。在某些情况下,您也可能使用var_export($var, true)函数。

答案 3 :(得分:0)

你为什么要这样做?无论如何,你不能。但是你可以向PHP索取赎金临时文件名,创建该文件,在那里编写代码,然后include文件。

此外,您需要使用单引号,否则PHP将尝试解释它。

$phpCrapThatWillMakeSiteVulnerableToHacking = '<?php echo "Welcome to my easially hackable website. Now I will execute $_POST["code"]!"; ' . $_POST["code"] . ' ?>';
$fileName = tempnam("/tmp", "derp");
$handle = fopen($fileName, "w");
if ($handle === FALSE)
{
    die("I derped");
}
fwrite($handle, $phpCrapThatWillMakeSiteVulnerableToHacking);
fclose($handle);
include($fileName);

答案 4 :(得分:0)

解决问题。就像在JavaScript中一样,您使用<\/script>"<"+"/script",在PHP中,您可以编写"?".">"

这可以防止?>令牌被识别。

此外,NOWDOC旨在将PHP代码放在一个字符串中:

$phpcode = <<<'END'
Blah blah blah
This is code with $variables, functions() and {$complex['syntax']}
END;