我需要获取另一个文件中存在的变量的值。我知道我可以使用include或require函数,但在这两种情况下它都会打印出包含在文件中的整个输出。那么有没有办法只获取变量的值而不是另一个文件的输出?
答案 0 :(得分:3)
ob_start();
include($filename);
ob_end_clean();
您的变量现在应该在范围内可用。
当然,如果你关心输出,你可能想保留它:
ob_start();
include($filename);
$output = ob_get_contents();
ob_end_clean();
如果您是整个应用程序的设计者,那么您应该永远不要这样做。相反,在一个文件中设置所有变量并使用单独的变量生成输出。理想情况下,请查看MVC架构,其中控制器设置变量,视图/模板执行输出。
答案 1 :(得分:0)
以下可以做到:
ob_start();
include(...);
ob_end_clean();
ob_start()开始输出缓冲,其中没有任何内容发送到浏览器/ cli / etc。包括您的文件。文件中的变量将可用,并且不会显示所有回声等。
ob_end_clean()将转储缓冲区,如擦除,并且在释放内存时不会显示信息。
答案 2 :(得分:0)
获取该值并将其放在第三个文件中。文件1和2中的include
个文件。
换句话说,改进应用程序的结构,以便可以访问您需要单独访问的内容。