2011-10-30 68 views
1

我使用file_get_contents()來合併模板和單獨的內容並將它們作爲頁面一起輸出。帶有php文件的PHP file_get_contents

我遇到的問題是,如果這兩個文件中有一個PHP語句,

<?php 
    echo "example"; 
?> 

的PHP不實際運行,並且語句只是似乎是標記的一部分:

enter image description here

我開始還以爲是,PHP在我加載不會先運行,但該文件,然後我做了以下測試頁:

<?php 
    echo file_get_contents("http://stackoverflow.com"); 
?> 

uploaded it here to see that it works fine(首先處理PHP)。

我應該使用不同的功能嗎?

+0

你的可能意味着文件的功能http://php.net/manual/en/function.file.php – blejzz

+0

[將php文件加載到變量時出現問題(將php代碼的結果代替字符串加載)](http://stackoverflow.com/questions/7220830/problem-when-loading-php-file-into-variable-load-result-of-php-code-instead-of) - 這只是同一個問題,您可能會在各種答案中找到一些更有用的提示。 – hakre

回答

4

你只需要include()這個PHP文件。

警惕安全問題。

如果要捕獲文件的輸出,請使用output buffering

+0

感謝您的建議,但我更傾向於解釋爲什麼此函數不會處理我在本地首先加載的文件中的PHP的原因。 – Marty

+3

@MartyWallace,它不是要處理它。 'file_get_contents'以純文本文件的形式讀取腳本,不做任何額外的處理。你可以做一個'eval(file_get_contents())',但這只是說'include()'的倒退。 –

+0

我明白了,但是你不能將include()的結果附加到字符串中嗎?對我加載的文件有一些操作,例如用'preg_match_all()'替換某些字符串等。 – Marty