Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 输出缓冲的替代方案,用于输入eval';将代码转换为变量_Php - Fatal编程技术网

Php 输出缓冲的替代方案,用于输入eval';将代码转换为变量

Php 输出缓冲的替代方案,用于输入eval';将代码转换为变量,php,Php,我需要评估变量中的一些php,并将输出放入另一个变量中 我有以下代码 ob_start(); $php = "echo 'cat';"; eval($php); $result = ob_get_contents(); ob_end_clean(); echo $result; 有没有办法不用输出缓冲就可

我需要评估变量中的一些php,并将输出放入另一个变量中

我有以下代码

                ob_start();
                $php = "echo 'cat';";
                eval($php);
                $result = ob_get_contents();
                ob_end_clean();
                echo $result;

有没有办法不用输出缓冲就可以做到这一点?可能使用create_函数?

首先,文档中立即提到的强制性“eval是危险的”()

$output = '';
eval('$output="cat";');
echo $output;

第二,你为什么不把
$result
放在你的评估里面呢

$php = "$result = 'cat';

然后,您的结果变量都已经设置好了。

首先,文档中立即提到的强制性“eval是危险的”()


第二,你为什么不把
$result
放在你的评估里面呢

$php = "$result = 'cat';

然后您就可以将结果变量全部设置好了。

我没有想到将结果分配到eval中的变量中。。。愚蠢的梅耶普,不太狡猾。但是,我再次用大量的挥手和“呜呜”的声音说,“不要使用eval!”几乎从来没有。它在自找麻烦,而且总是有更好的方法去做——每次都是。是的,我知道这是邪恶的;)我需要做的是将php注入到一个页面上,而php来自外部源(我控制),我想不出任何其他方法来实现它。啊,明白了。恐怕你只能靠自己了。祝你好运我没有想到将结果赋给eval中的变量。。。愚蠢的梅耶普,不太狡猾。但是,我再次用大量的挥手和“呜呜”的声音说,“不要使用eval!”几乎从来没有。它在自找麻烦,而且总是有更好的方法去做——每次都是。是的,我知道这是邪恶的;)我需要做的是将php注入到一个页面上,而php来自外部源(我控制),我想不出任何其他方法来实现它。啊,明白了。恐怕你只能靠自己了。祝你好运