2012-06-29 81 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中。

換句話說,改進應用程序的結構,以便可以訪問需要單獨訪問的內容。