PHP:在init.php

时间:2016-10-27 15:49:48

标签: php ajax directory

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

像往常一样,我通过Ajax将收到的输入数据发送到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&#39; init.php?subdir = true&#39;但由于包含不是http请求,它显然无法正常工作。

如果有人在这里帮助我,我会很高兴的!

如果有任何不清楚的地方,请询问!

1 个答案:

答案 0 :(得分:2)

您可以使用例如:

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

});

所以你的init.php将需要通过相对于他自己的目录的路径的其他脚本。我会说这不太可能改变init.php文件的位置,但即使你这样做,你也只能在init.php中进行微小的改动