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