2

我需要获取另一个文件中存在的变量的值。我知道我可以使用 include 或 require 函数,但在这两种情况下,它都会打印出包含在文件中的整个输出。那么有没有办法只获取变量的值而不是另一个文件的输出?

4

3 回答 3

3
ob_start();
include($filename);
ob_end_clean();

您的变量现在应该在范围内可用。

当然,如果您关心输出,您可能希望保留它:

ob_start();
include($filename);
$output = ob_get_contents();
ob_end_clean();

需要注意的是,如果您是整个应用程序的设计者,则永远不要这样做。相反,将所有变量设置在一个文件中,并使用一个单独的文件生成输出。理想情况下,查看 MVC 架构,其中控制器设置变量,视图/模板进行输出。

于 2012-06-29T16:20:39.867 回答
0

以下可以做到:

ob_start();
include(...);
ob_end_clean();

ob_start() 开始输出缓冲,其中没有任何内容发送到浏览器/cli/等。包括你的文件。文件中的变量将可用,所有回显等都不会显示。

ob_end_clean() 将转储缓冲区,就像在擦除时一样,并且在释放内存时不会显示信息。

于 2012-06-29T16:21:49.900 回答
0

取该值并将其放入第三个文件中。include该文件在您的文件 1 和 2 中。

换句话说,改进您的应用程序的结构,以便可以访问您需要单独访问的内容。

于 2012-06-29T16:25:27.270 回答