是否可以直接从php更改php源代码?

例:

资源:

$var=X

网址呼叫:

 ....?changeSourceTo:Y

的PHP:

//do something? (what)

资源:

$var=Y

这对于快速更改源代码而不用打开它,也不需要将下一个调用传递给url的相同参数非常有用.
(我知道我可以使用带有var参数的文件,并且如果$_GET [‘var’]更改文件,或者最好设置数据库…)

解决方法:

可以的,是的.只需使用fopen()从文件内部打开.php文件,修改所需内容,然后保存(覆盖)即可.

因此,如果您有带有以下代码的test.php:

<?
$x = 1;
$myfile = fopen('test.php', 'w');
$txt = '<?$x=2;echo $x?>';
fwrite($myfile, $txt);
fclose($myfile);
echo $x;
?>

第一次运行它时,您将看到“ 1”.如果重新加载页面,您将看到“ 2”.如果您有很多代码,这可能会很棘手,在这种情况下,我建议将文件拆分为“小块”,然后将它们与include一起使用,这样您就可以修改您真正需要的小块.

正如史蒂夫(Steve)所述,在修改它时要非常小心.例如,如果我的示例可以用$_GET []修改,那将是非常不安全的.

上一篇:php-添加$var简介$var


下一篇:Bash变量赋值奇怪的行为