2013-08-26 26 views
0

我要去include() PHP文件在wordpress主題文件。該文件是的header.php,並且功能是這樣的:卡住包括()在wordpress主題

<?php 
error_reporting(E_ALL); 
$filename = "path/to/file.php"; 
if (file_exists($filename)){ 
echo 'Ok'; 
include($filename); 
} ?> 

「確定」,在生成的HTML被打印出來,但輸出之後立即停止。我使用了相同的結果和絕對路徑。我錯過了關於家庭主題的一些工作嗎?

文件權限沒問題。

編輯:display_errors在wordpress中出現。我不得不讓它找到錯誤並解決。這是致命的。

+0

致命錯誤:調用一個成員函數函數名()在/path/to/file.php一個非對象在線# 我花了一段時間才找到它:display_error在wordpress中設置。謝謝@Zaffy – Thundar

回答

1
$filename = "file.php"; // First of all that needs to be quoted 

// then its $filename, not filename. Missing $ before variable name 

if (file_exists($filename)){ 
echo 'Ok'; 
include($filename); 
} 
+0

我的錯。關於這兩件事,開發代碼已經確定。我在編輯這個問題。 – Thundar

+0

編輯完成後,代碼中沒有任何內容會導致上述行爲,代碼沒有問題。只有那些現在可能成爲問題的東西是文件是否可訪問以及它是否是有效的PHP代碼文件?既然你提到了它的一個空白文件,那麼這應該不成問題。 –

+0

不幸的是,該文件是可訪問的,並且代碼當它不是空白時是可以的:我可以直接導航到文件,沒有錯誤。無論如何,它現在是空白的。我認爲'include'不應該引發任何致命的錯誤,但是輸出看起來就像它。 – Thundar

0

沒關係2米這裏的東西..如果你有一段代碼後,包括聲明要求您將其更改爲以下格式..

include('".$filename."'); 

其次,即使它是一個空白文件,它總是最好有引號。

也可以讓粘貼任何特定的錯誤日誌針對此問題..

+0

你能解釋爲什麼有關引號嗎?我無法理解你的示例 – Thundar

+0

的評論方面..其良好的編碼慣例,因爲所有包括文件都在引號內..其次在php文件中請在其中添加。 – Shiva

0

我也建議使用include_once(),而不是include()如果在功能上,否則文件將被包含多次調用該函數時,可能會導致錯誤並肯定會導致服務器資源浪費

另一個建議是,如果調用者和被調用者的文件都位於同一文件夾中,則使用不帶路徑的文件名。在大多數情況下,這將是一個更好的選擇(除非腳本的當前工作目錄與調用方文件的目錄不同),因爲將文件移動到另一臺服務器時,路徑可能會更改,導致腳本無法正常工作。那時候你需要通過文件修復你的路徑。

0

如果您的文件模板內,然後就包括文件如下

<?php include (TEMPLATEPATH . '/path/to/file.php'); ?>