2011-11-23 129 views
2

如何將PHP文件(其中也包含HTML)的內容變爲變量,然後在另一個PHP文件中稍後回顯它們?我也需要內容來正確執行PHP。我嘗試了類似下面的內容,但它只是給了我一個頁面上所有內容的字符串。將PHP文件的內容變爲顯示的變量

$contents = file_get_contents("myfile"); 
echo $contents; 

回答

3

使用output bufferinginclude文件。

ob_start(); 
include('myfile'); 
$contents = ob_get_contents(); 
ob_end_clean(); 

然後,在稍後的時間:

echo $contents; 
+0

我在別處也看到了這個選項。這是好的做法嗎? – Metropolis

+2

在我看來,這是捕獲'myfile'輸出的最好方法,同時允許執行文件中包含的PHP代碼。 – nickb

+2

@metro:一般來說,是的。它基本上是使用原生基於php的模板的模板系統的基礎。 – prodigitalson

0

一個PHP腳本執行另一個並捕獲它的輸出通常意味着你處理事情的錯誤的方式。如果你必須,看看輸出緩衝區,eval,甚至可能是像system_exec這樣的東西。

如果您想更好地解決您的問題,您可能需要查看像CodeIgniter這樣的項目以及它的模板系統如何工作,特別是如何將小模板部分/片段渲染併合併到較大的視圖/模板中。