我必須在php腳本中包含位於第二級子目錄中的一些文件。 問題是在我的xampp中沒有包含這些文件。 在netbeans中,如果我點擊打開文件的路徑。php包括文件
require_once("../../config/bootstrap.php");
require_once("../../config/config.php");
可能是什麼問題? 謝謝。
我必須在php腳本中包含位於第二級子目錄中的一些文件。 問題是在我的xampp中沒有包含這些文件。 在netbeans中,如果我點擊打開文件的路徑。php包括文件
require_once("../../config/bootstrap.php");
require_once("../../config/config.php");
可能是什麼問題? 謝謝。
嘗試
require_once(dirname(__FILE__) . "/../../config/bootstrap.php");
require_once(dirname(__FILE__) . "/../../config/config.php");
或者在PHP 5.3+
require_once(__DIR__ . "/../../config/bootstrap.php");
require_once(__DIR__ . "/../../config/config.php");
這應該與此目錄樹中很好地工作,假設您正在訪問的公共/大衆/ index.php文件
您通常不希望在包含文件中包含..你可能想用一個環境值引導你的web應用程序(在Apache中,你可以使用SetEnv來實現這一點),然後從你的webapp,你可以 $dir = getenv('APPLICATION_PATH'); require_once($dir . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'bootstrap.php);
而且,你可以設置APPLICATION_CONFIG_PATH,而不是保存一個DIRECTORY_SEPARATOR。
總結一下。我想盡量避免..的也是硬編碼‘/’(使用環境變量來引導應用程序,並分別DIRECTORY_SEPARATOR)
編輯:忘了提:如果您使用的是PHP 5.3,則可能會使用../ ..與DIR脫離。 '../ ..'。
DIR將解決包含實際運行腳本
你有一些在PHP引導編碼的教程?我會學習它。 – michele
在apache中引導一個php webapp,你可以使用http://httpd.apache.org/docs/1.3/mod/mod_env.html#setenv。這將設置一個環境值,對於獲取代碼的某些「屬性」非常有用。在控制檯應用程序中,您還可以使用環境值,在執行腳本之前設置它們。從PHP,你可以通過使用getenv()和putenv() – marcelog
設置和獲取環境值編輯:忘記提及:如果您使用PHP 5.3,您可能會脫離使用../ ..與.. '../ ..'。 DIR將解決包含實際運行腳本 我不明白你的意思對不起..目錄 – michele
從docs
以我個人經驗的目錄,我已經找到了從創建總是基於include_path中相對引用最多的一致性。
你是直接訪問這個文件還是你也包括它? – binarious
包括...... – michele
然後我的答案應該做的伎倆。 – binarious