使用其他目录中的php文件并包含当前目录中的文件

时间:2017-08-20 15:44:56

标签: php

假设我们有三个目录export { MainNavModule } from './MainNavModule'; AB以及另一个C目录。

现在我想通过POST请求将搜索查询发布到A,B和C的索引文件中的engine,但是告诉文件../engine/search.php包含来自的search.php文件相应的目录(具有不同的搜索参数)。即我不能简单地在config.php中加入../[A,B,C]/config.php,因为它取决于调用搜索的位置。

有没有办法做到这一点,而无需在每个目录中保留engine/search.php的单独副本,从而直接包含相应目录中的配置文件?这应该是可能的,因为存在类似的多站点PHP设置(例如Wordpress MU)。

也许像search.php之类的东西会给出调用php文件的路径而不是它所在的位置。

出于安全原因,我不想将路径作为帖子请求的一部分传递。

1 个答案:

答案 0 :(得分:0)

在澄清你正在尝试的问题的一些评论后......

您可以做的一件事是在搜索表单中包含一个隐藏字段,指示搜索的“类型”。简单的事情:

<input type="hidden" name="SearchType" value="SearchA" />

然后,在服务器端代码中,您可以根据该值确定要包含的文件。像这样:

switch ($_POST["SearchType"]) {
    case "SearchA":
        include("../A/config.php");
        break;
    case "SearchB":
        include("../B/config.php");
        break;
    // etc.
}

这样,配置是由发布的表单动态确定的,而不依赖于任何状态跟踪服务器端关于先前加载的表单。