我必须在php脚本中包含一些位于二级子目录中的文件。 问题是在我的xampp中它无法包含这些文件。 在netbeans中,如果我点击它打开文件的路径。
require_once("../../config/bootstrap.php");
require_once("../../config/config.php");
可能是什么问题? 感谢。
答案 0 :(得分:2)
尝试
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");
答案 1 :(得分:2)
你通常不希望在你的包含文件中有..您可能想要使用环境值引导您的webapp(在apache中,您可以使用SetEnv),然后从您的webapp您可以
$dir = getenv('APPLICATION_PATH');
require_once($dir . DIRECTORY_SEPARATOR . 'config' . DIRECTORY_SEPARATOR . 'bootstrap.php);
此外,您可以设置APPLICATION_CONFIG_PATH,同时保存一个DIRECTORY_SEPARATOR。
总结..我试图避免..并且还硬编码'/'(使用环境变量分别引导app和DIRECTORY_SEPARATOR)
编辑:忘记提及:如果您使用的是PHP 5.3,那么您可以通过 DIR 来使用../ .. ” ../..'.DIR 将解析为包含实际运行脚本的目录
答案 2 :(得分:0)
假设您正在访问public / public / index.php
,这应该与此目录树完美配合答案 3 :(得分:0)
来自docs
根据我的个人经验,我总是根据include_path创建相对引用,从而找到最大的一致性。