php包括文件

时间:2011-07-21 15:01:13

标签: php include directory require

我必须在php脚本中包含一些位于二级子目录中的文件。 问题是在我的xampp中它无法包含这些文件。 在netbeans中,如果我点击它打开文件的路径。

require_once("../../config/bootstrap.php");
require_once("../../config/config.php");

可能是什么问题? 感谢。

4 个答案:

答案 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

,这应该与此目录树完美配合
    • 公共
      • 公共
        • 的index.php
    • 配置
      • 的config.php
      • bootstrap.php中

答案 3 :(得分:0)

来自docs

根据我的个人经验,我总是根据include_path创建相对引用,从而找到最大的一致性。