2013-03-21 37 views
-1

我編寫了一段代碼,這在本質上具有以下功能:爲什麼在這個例子中file_get_contents不能正確加載phpscript?

<div id="thisDiv"> 
</div> 

<?php 
echo "<script>document.getElementById('thisDiv').innerHTML = '".addslashes(str_replace(array("\n", "\r"), "", file_get_contents('/path/to/file/example.php'')))."';</script>"; 
?> 

然而,我注意到,這不起作用:沒有包含在<?php ?>標籤內使用example.php使他們到div方式。爲什麼是這樣,是他們的方式?

+0

你能顯示生成的HTML文件嗎? JavaScript控制檯中是否存在錯誤? – JJJ 2013-03-21 08:41:35

+0

沒有錯誤。除了php標籤中似乎被刪除的所有內容之外,HTML頁面正常顯示。 – 2013-03-21 08:47:01

+0

當您使用file_get_contents()時,它不會運行您嘗試從中獲取內容的文件中的任何PHP代碼。 – kennypu 2013-03-21 08:47:39

回答

1

當使用file_get_contents()時,如果您嘗試在PHP腳本上使用它,則文件中的任何PHP都不會執行。如果你想返回一個PHP文件作爲一個字符串,一個方法是使用ob_*()功能:

ob_start(); 
include '/path/to/file/example.php'; 
$content = ob_get_contents(); 
ob_end_clean(); 

現在你可以使用$content這將是作爲字符串執行PHP是使用example.php。

+0

謝謝!這實際上是解決我的問題的一個很好的方法。 – 2013-03-21 09:13:21

相關問題