PHP的新手,試圖找出相對路徑和絕對路徑如何處理require。PHP需要路徑/相對或絕對
我的結構是這樣的:
的index.php
/inc/db_functions.php
/inc/config.php
/login/login.php
db_functions.php包括配置.PHP使用 require_once 'inc/config.php';
的index.php包括db_functions.php使用require_once 'inc/db_functions.php';
如果用戶未登錄,則瀏覽器重定向到login.php。 最初login.php位於根文件夾中,並使用與index.php相同的require。它工作完美。
現在它在它自己的子文件夾中。 我改放在require_once使用 require_once('../inc/db_connect.php');
代碼的工作,直到它得到的db_connect.php放在require_once行,然後失敗。
我改變了在login.php中再次要求是: require_once(__DIR__.'/../inc/db_connect.php');
再次失敗時,它得到了放在require_once在db_connect.php
我改放在require_once在db_connect是一個絕對路徑。它又失敗了。
有沒有什麼辦法可以解決這個問題,因爲包含文件的包含路徑似乎被調用文件的位置所改變(我認爲這有意義),但是如何使它更加健壯。
請編輯您的問題,以便它包含您的文件的源代碼並編寫您獲得的錯誤消息。但是,魔術常量'__DIR__'應該可以做到。 – Progman
嗨。我會嘗試上傳代碼,但它只有幾行,所以我會先修剪它。我也不會收到錯誤信息。 netbeans下的調試只停留在該行,並且不會繼續。 – Flugan
您可能需要檢查https://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php以查看如何從您的PHP腳本中獲取錯誤消息。 – Progman