所以我决定在我的一个项目中使用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