假设我们有三个目录export { MainNavModule } from './MainNavModule';
,A
和B
以及另一个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文件的路径而不是它所在的位置。
出于安全原因,我不想将路径作为帖子请求的一部分传递。
答案 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.
}
这样,配置是由发布的表单动态确定的,而不依赖于任何状态跟踪服务器端关于先前加载的表单。