2012-06-29 45 views
2

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

回答

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

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

当然,如果你关心的输出,你可能要留着,

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

这是需要提醒的是,如果你是整个应用程序的设计者,你不应该这样做。相反,将所有变量设置为一个文件并使用单独的一个来生成输出。理想地看一下MVC架构,其中控制器设置变量并且视图/模板执行输出。

+0

我宁愿建议更好地构造整个应用程序... – deceze

+0

好点。我假设这将成为图书馆的一部分或文件无法更改的地方。这是一个糟糕的架构应该是显而易见的,但仍值得指出。 –

+0

但是仍然存在于该文件中的php部分正在执行...... – Srivathsan

0

以下可以做到这一点:

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

ob_start()开始输出缓冲,其中没有被发送到浏览器/ CLI /等。包含你的文件。文件中的变量将可用,并且所有回显等都不会显示。

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

0

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

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