2010-05-04 47 views
4

有一個header.php文件,它包含一些返回HTML的PHP​​代碼。 我知道我可以使用require,include來回顯結果,但我想要做的是將其處理的輸出字符串存儲到變量中。使用file_get_contents將本地PHP文件的HTML輸出存儲到字符串中

在一個頁面中,我用:

$headerHTML=file_get_contents('header.php'); 

然後我得到的PHP代碼輸出,而不是處理HTML輸出。 我知道添加http://會有所幫助。 但我更喜歡繼續使用相對路徑,我該如何告訴函數正確處理php文件?

注意:如果可能,我想繼續使用此語句file_get_contents而不是使用ob_start()

回答

5

我寧願使用require()包裹在ob_start()ob_get_clean()之內。我相信這種方法沒有錯。

+0

看來這可能是最好的方法。 – bobo 2010-05-09 08:28:57

+0

除非您需要在已包裝在'ob_' – 2014-03-25 11:20:25

+2

'ob_'調用中的部分代碼中執行調用,否則調用可以嵌套;在這種情況下返回_current_緩衝區內容。 – 2014-03-25 17:50:07

1

如果啓用了URL包裝,並且您希望header.php的輸出(並且您不想保留會話狀態),那麼您可以使用$headerHTML=file_get_contents('http://yourdomain.tld/path/to/header.php');,但爲什麼您想要做這樣的事情卻沒有。你確定你沒有嘗試使用模板和緩存很容易解決的事情嗎?

相關問題