2015-11-04 54 views
0

我一直在一個小網站上工作,以處理我的PHP技能。我有一個名爲Templates的子文件夾中的導航。現在基本上,導航將被包含在每個頁面上,並隨着它connect.php。現在的問題是,如果它進入另一個子文件夾,那麼它將無法找到connect.php文件。我已經安裝了APP目錄,並且正在處理樣式表和所有樣式表。在網站目錄中包含文件 - 使導航始終包含connect.php,無論子目錄如何

但是我不確定我會怎麼做include,我從StackOverflow的鏈接href的另一個問題得到的想法/代碼,並且它說include (APP_DIR .'connect.php')然而,這似乎並不適用於我,它帶來了一個錯誤「警告:包括(APP_ROOT/connect.php):未能打開流:沒有這樣的文件或目錄在C:\ xampp \ htdocs \ ytsite \ templates \ navigation.php在線2 」

任何關於如何正確包含文件的幫助,無論它在哪裏,它都包括連接將非常感謝。

感謝, 本

+0

你有沒有定義APP_DIR? ..見'定義'.. http://php.net/manual/en/function.define.php – Daniel

+0

如果一個常量ist沒有定義PHP將它視爲一個字符串。你也表示你想'APP_DIR',但是錯誤信息指出'APP_ROOT' – pmayer

+0

哦,對不起。我輸入錯了。我把它作爲APP_ROOT。也是的,我已經定義了它@Daniel 'define('APP_ROOT','http:// localhost/ytsite');' – BenJ30

回答

0

你常數應該是一個目錄路徑,而不是URL。嘗試這個與你的恆定定義..

define('APP_ROOT', $_SERVER['DOCUMENT_ROOT'] . '/ytsite'); 

echo APP_ROOT; //to test 

未測試。注意你不要雙斜槓,並確保路徑到正確的目錄。 還要確保在添加'connect.php'時添加一個斜線。將其包含在常量定義中,或將其添加到包含行中。

include (APP_ROOT .'/connect.php'); 

編輯

所以包括你的連接文件是這樣的:

做一個主文件,包括到您的網頁,並添加這些行。

<?php 
    define('APP_ROOT', $_SERVER['DOCUMENT_ROOT'] . '/ytsite'); 
    include (APP_ROOT .'/connect.php'); 
?> 

每次啓動新頁面時,都需要重新創建常量。

+0

我改變了我的包括和所有與你的一樣。我回應了connect.php上的APP_ROOT,然後去了ytsite/connect.php並正確顯示。不過,我仍然在我的index.php上遇到同樣的問題,它有以下錯誤。警告:include(APP_ROOT/connect.php):未能打開流:未使用未定義的常量APP_ROOT - 在第2行的C:\ xampp \ htdocs \ ytsite \ templates \ navigation.php中假定爲'APP_ROOT' :沒有這樣的文件或目錄 - 「另外一個包含(include_path ='; C:\ xampp \ php \ PEAR')」由於字符限制,我無法填充完整的錯誤。 – BenJ30

+0

PHP不知道你的常數。你需要在每個文件中包含你的常量定義。您可以將它放在包含...上面的代碼中。 – Daniel