我正在尝试清理我的网站文件夹结构。我在根目录中有太多处理脚本。原因是,如果我将它们移动到子文件夹并从那里调用它们,它们将无法工作。
例如。
root directory
- images folder
- css folder
- js folder
- includes folder
- admin folder
index.php
ajax.php
假设我将ajax.php移动到包含文件夹,它将如下所示。
root directory
- images folder
- css folder
- js folder
- includes folder
- ajax.php
- core folder
- template folder
index.php
现在每个页面都需要init.php。在例如ajax.php中。
<?php require_once 'core/init.php'; ?>
// rest of the code
我遇到的问题是,只要ajax.php在includes文件夹中,init.php文件就不会运行。我收到类似这样的错误。
Warning: require_once(core/init.php): failed to open stream:
如果我将ajax.php移回根目录,它将正常工作。
在index.php上,这就是我调用ajax.php
的方式<a href="includes/ajax.php?id="324"></a>
core / init.php在&#34;模板中需要时工作正常&#34;夹。
也许有人可以告诉我这方面的解决方案?
答案 0 :(得分:1)
尝试使用PHP的chdir
功能。这将更改PHP环境正在使用的工作目录,从而更改包含函数正在查找的相对路径。理想情况下,您希望使用项目的根调用chdir
,因此当您执行require_once('core/init.php');
时,您最终无法从core
目录拨打电话,而是从.
目录拨打电话。