PHP:在init.php中需要动态文件路径


PHP: Require Dynamic file paths in init.php

所以我决定在我的一个项目中使用Ajax处理表单。

像往常一样,我通过Ajax将接收到的Input数据发送到process.php,然后process.php应该使用classes文件夹中的Input.php类来验证它。

然而,由于我的init.php中的文件路径是硬编码的,脚本正在搜索ajax/classes/Input.php中的Input类,而不是classes/Input.php

我可以调整我的init文件,或者我必须提出一个不同的目录结构?

下面是当前结构:
ajax/
    process.php
classes/
    Input.php
core/
    init.php
js/
    ajax.js  
form.php

process.php

<?php
require_once '../core/init.php';
[...]

init.php

spl_autoload_register(function($class) {
    require_once 'classes/'.$class.'.php';
});

我试着做一些像require_once 'init.php?Subdir =true',但由于包含不是HTTP请求,因此显然不起作用。

如果这里有人能帮我一把,我会很高兴的。

如果有什么不清楚的,请问!

可以这样使用:

 spl_autoload_register(function($class) {
require_once __DIR__.'/../classes/'.$class.'.php';

});

所以你的init.php将需要其他脚本的路径相对于他自己的目录。这不会改变init。php文件的位置,但即使改变了也只需要对init。php

做小改动